.c/.cpp转换为可执行文件
对于.c/.cpp文件,执行:
gcc/g++ filename(可以是多个) -o genFileName(生成的可执行文件名)
-o 及参数可以省略,即生成默认文件名。
命令分解
gcc/g++命令包含了4个步骤,如下,已gcc命操作main.c文件为例:
过程解析如下:
(一)预处理阶段。这一部是由编译器帮我们完成的。预处理器做的事情就是将原始源文件中的所有预处理器指令替换为暗示指令的实际库代码。那么什么是预处理指令呢?实际上这些是我们在代码很常见的,如#include和#define指令。之后,生成的文件基本上被取代并获得扩展名为.i文件。
gcc -E main.c -o main.i
(二)编译器编译阶段。接下来是编译器的处理阶段,这个阶段是把高级语言翻译成低级语言的过程,也负责检查源代码的语法/语法。若发现无误,则会将文件转换为扩展名为.s的文件,即我们所知的汇编代码。
gcc -S main.i -o main.s
(三)目标文件转换阶段。得到汇编文件之后,要对其进行转换,即该过程是将汇编级语言转换为机器级语言(一般为二进制格式),此时生成的文件就是我们的目标文件,扩展名为.o或.obj。
gcc -