Linux编译器-gcc/g++的使用

代码编译

代码的编译运行一般要进行四个阶段
1、预处理
2、编译(生成汇编)
3、汇编(生成机器可识别代码)
4、链接(生成可执行文件或库文件)

Linux下代码的编译

在Linux系统下,C语言编译使用的是gcc,C++使用的是g++,它们的用法是gcc/g++ + [文件名],默认会生成可执行程序a.out。这里我们的介绍以C语言为例,C++同理。
在Linux下我们可以让文件在编译的过程中停止,在编译的时候各个选项有各个选项的意义,预处理、编译、汇编、之后生成文件后缀为.i、.s、.o。

处理过程 选项 生成文件
预处理 -E .i
编译 -S .s
汇编 -c .o
链接

我们创建一个test.c文件
Linux编译器-gcc/g++的使用_第1张图片

Linux编译器-gcc/g++的使用_第2张图片

Linux编译器-gcc/g++的使用_第3张图片
Linux编译器-gcc/g++的使用_第4张图片
这里的-o选项可以指定生成文件的名称。
我们看到们的test.i里面就是一些宏替、头文件的展开等等。
Linux编译器-gcc/g++的使用_第5张图片
我们生成的test.s文件打开之后就是对代码进行编译生成汇编代码。
Linux编译器-gcc/g++的使用_第6张图片
我们汇编之后生成的.o文件就是机器可识别的代码,当然这里的代码我们是看不懂的。
Linux编译器-gcc/g++的使用_第7张图片

之后我们执行可执行程序,代码就会执行。
在这里插入图片描述
c++文件同理也会生成对应的.i、.s、.o文件。

你可能感兴趣的:(Linux,linux,运维,服务器)