项目 | 内容 |
---|---|
这个作业属于哪个课程 | <班级课程的主页链接 > |
这个作业的要求在哪里 | <作业要求链接接地址 > |
学号-姓名 | <17043211-方翔> |
作业学习目标 | 1.学习Linux系统下C语言开发环境的搭建和使用;2.学习Linux系统环境C语言开发过程。 |
1.安装C语言开发环境(本文将使用Ubuntu进行演示)
Ubuntu
sudo apt install build-essentia
#安装c语言开发环境
CentOS
sudo yum groupinstall "Development Tools"
#安装c语言开发环境
如果安装没有问题,接下来查看gcc的版本信息,大家也可以先查看gcc版本信息如果提示没有gcc再进 行安装,因为有的同学可能早就安装了gcc
gcc -v #查看信息
![](https://img2020.cnblogs.com/blog/1955650/202003/1955650-20200327223735802-1008466276.png)
![](https://img2020.cnblogs.com/blog/1955650/202003/1955650-20200327224808357-317597725.png)
make -v #查看信息
![](https://img2020.cnblogs.com/blog/1955650/202003/1955650-20200327224206672-2074768920.png)
![](https://img2020.cnblogs.com/blog/1955650/202003/1955650-20200327224825068-1443787767.png)
CentOS
![](https://img2020.cnblogs.com/blog/1955650/202003/1955650-20200327224317367-1298481735.png)
如果上面没有问题,我们就可以使用gcc对C语言程序进行编译链接等操作
2.简单C语言练习
1)通过man命令查看帮助文档
man gcc #帮助查看gcc
2)命令行模式简单C语言编译链接等操作
通过vim编辑器编写一个简单的C语言程序,输出自己学号
我们输入完了源程序,接下来我们进行C语言程序编译的四个阶段,预编译,编译,汇编,链接
a)预编译
我们可以用vim打开test.i文件来查看文件内容,也可以用命令来查看
这里大家自行查看文件内容并理解
b)编译
注意:-S,大写
c)汇编
d)链接
可执行文件是二进制文件,同样需要用objdump命令来反汇编该文件分析文件内容
objdump -d test
e)运行
./test #运行文件
![](https://img2020.cnblogs.com/blog/1955650/202003/1955650-20200327231106077-233647773.png)
3)多文件编译
mkdir exp5
每个文件的内容分别为
vim main.c
vim my1.h
vim my1.c
vim my2 h
vim ny2.c
完成上面的代码输入,接下来我们进行编译,对于多文件编译,我们可以一次编译链接生成可执行文
件,也可以分别编译每个C文件,最后再进行链接得到可执行文件
-
前者为一次性编译,可以直接使用源文件链接生成可执行文件。
-
后者为分别编译,会各自生成目标文件,须使用目标文件进行连接生成可执行文件。
编写一个简单的Makefile,通过make工具帮助我们进行编译。在当前文件夹编写一个 Makefile文件
注意这里每个gcc以及最后的rm前面都是有一个tab
现在我们可以直接在终端输入make就可以进行编译链接操作