zoukankan      html  css  js  c++  java
  • Linux系统C语言开发环境学习

    项目 内容
    这个作业属于哪个课程 课程链接
    这个作业的要求在哪里 作业要求
    学号-姓名 17043207-蔡云冰
    作业学习目标 1、Linux系统下C语言开发环境搭建 2、学习Linux系统环境C语言开发过程

    实验内容

    1.安装c语言开发环境

    sudo apt install build-essential
    

    1).查看gcc的版本信息

    gcc -v
    

    2).查看make版本信息

    make -v
    

    如果上面没有问题,我们就可以使用gcc对C语言程序进行编译链接等操作。

    2.简单C语言练习

    1)首先我们通过man命令查看帮助文档

    如果我们不清楚一些命令的操作,我们可以通过man命令来查看帮助。如:


    man gcc
    

    2)命令行模式简单C语言编译链接等操作

    我们可以通过vim编辑器编写一个最简单的C语言程序,如写一个输出自己学号的程序。先创建一个文件夹,然后进入该新创建的文件夹。


    我们输入完了源程序,接下来我们进行C语言程序编译的四个阶段,预编译,编译,汇编,链接

    a.预编译

    我们可以用vim打开test.i文件来查看文件内容,也可以用命令来查看

    b.编译


    同样的我们可以用vim打开test.s文件来查看内容。

    因为预编译和编译得到的文件都是文本文件,所以我们可以用vim打开查看文件内容。

    c.汇编

    这里生成的不是文本文件了,是二进制文件,我们可以通过objdump命令来反汇编该文件来分析文件内
    容。

    d.链接


    可执行文件是二进制文件,同样需要用objdump命令来反汇编该文件分析文件内容

    objdump -d test
    
    e.运行

    3)多文件编译

    在exp4文件夹下面再建一个文件夹mfc

    在该文件夹下面创建5个文件,文件名分别如下:

    每个文件的内容分别如下:




    对于多文件编译,可以一次编译链接生成可执行文 件,也可以分别编译每个C文件,最后再进行链接得到可执行文件。


    问:请说明两种方法的区别?

    答:方法一是将为一次性编译,可以直接使用源文件链接生成可执行文件main1。方法二是对每一个c文件进行编译,生成二进制文件,产生了目标文件,最后链接生成可执行文件main2。

    编写一个简单的Makefile,通过make工具帮助我们进行编译。在当前文件夹编写一个 Makefile文件


    我们可以直接在终端输入make就可以进行编译链接操作。

  • 相关阅读:
    pip不是内部或外部命令也不是可运行的程序或批处理文件的问题
    动态规划 leetcode 343,279,91 & 639. Decode Ways,62,63,198
    动态规划 70.climbing Stairs ,120,64
    (双指针+链表) leetcode 19. Remove Nth Node from End of List,61. Rotate List,143. Reorder List,234. Palindrome Linked List
    建立链表的虚拟头结点 203 Remove Linked List Element,82,147,148,237
    链表 206 Reverse Linked List, 92,86, 328, 2, 445
    (数组,哈希表) 219.Contains Duplicate(2),217 Contain Duplicate, 220(3)
    重装系统
    java常用IO
    端口
  • 原文地址:https://www.cnblogs.com/cyb1549176246/p/12592129.html
Copyright © 2011-2022 走看看