实验四 linux系统搭建c语言编程环境

1.安装语言开发环境

linux环境编译lua源码 linux编译环境配置_linux环境编译lua源码

sudo apt install build-seeentia

1 查看gcc版本信息

linux环境编译lua源码 linux编译环境配置_反汇编_02

gcc -v

2 查看make版本信息

linux环境编译lua源码 linux编译环境配置_编译链接_03

2.简单c语言练习

1 通过man命令查看帮助文档

linux环境编译lua源码 linux编译环境配置_反汇编_04

 

linux环境编译lua源码 linux编译环境配置_反汇编_05

man gcc

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

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

linux环境编译lua源码 linux编译环境配置_linux环境编译lua源码_06

linux环境编译lua源码 linux编译环境配置_linux环境编译lua源码_07

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

a 预编译

linux环境编译lua源码 linux编译环境配置_linux环境编译lua源码_08

b 编译

linux环境编译lua源码 linux编译环境配置_反汇编_09

也可用vim打开文件查看

linux环境编译lua源码 linux编译环境配置_编译链接_10

c 汇编

linux环境编译lua源码 linux编译环境配置_linux环境编译lua源码_11

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

linux环境编译lua源码 linux编译环境配置_反汇编_12

d 链接

linux环境编译lua源码 linux编译环境配置_linux环境编译lua源码_13

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

linux环境编译lua源码 linux编译环境配置_反汇编_14

objdump -d test

这里反汇编输出内容较多,我只截图main函数部分,大家可以与test.o反汇编的内容进行对比分析。

e 运行

linux环境编译lua源码 linux编译环境配置_c语言_15

3 多文件编译

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

linux环境编译lua源码 linux编译环境配置_c语言_16

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

linux环境编译lua源码 linux编译环境配置_linux环境编译lua源码_17

 

linux环境编译lua源码 linux编译环境配置_c语言_18

linux环境编译lua源码 linux编译环境配置_编译链接_19

linux环境编译lua源码 linux编译环境配置_linux环境编译lua源码_20

linux环境编译lua源码 linux编译环境配置_编译链接_21

完成上面的代码输入,接下来我们进行编译,对于多文件编译,我们可以一次编译链接生成可执行文 件,也可以分别编译每个C文件,最后再进行链接得到可执行文件。

linux环境编译lua源码 linux编译环境配置_c语言_22

 

linux环境编译lua源码 linux编译环境配置_编译链接_23

请说明两种方法的区别?

第一种编译链接直接生成可执行文件; 
分别编译会产生目标文件,再执行文件。

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

linux环境编译lua源码 linux编译环境配置_编译链接_24

 

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

linux环境编译lua源码 linux编译环境配置_反汇编_25