【gcc编译代码过程】

gcc编译代码过程

    • 第一步:预处理
    • 第二步:编译
    • 第三步:汇编
    • 第四步:链接

第一步:预处理

解释:就是将源文件中包含的头文件(例如#include)找到,并且将头文件的内容全部拷贝过来;

预处理步骤代码:gcc -E xxx.c -o xxx.i
-E :对xxx.c做预处理,不做后续的编译过程;
-o:指定处理结果保存到哪个文件中去;
示例:gcc -E helloword.c -o helloword.i

第二步:编译

解释:就是将上一步预处理之后的预处理文件进行编译得到汇编文件,理解:就是将c++语言(高级语言)转换成汇编语言(低级语言);

编译步骤代码:gcc -S xxx.i -o xxx.s
-S:对预处理后的xxx.i进行编译;
-o:指定处理结果保存到哪个文件中去;
示例:gcc -S helloword.i -o helloword.s

第三步:汇编

解释:将上一步编译之后得到的汇编文件(低级语言)进行转换得到计算机可以识别的机器指令(二进制);但是不包含printf的实现代码;

gcc -c xxx.s -o xxx.o
-c:只进行到编译完成就结束,不做链接的过程
-o:指定处理结果保存到哪个文件中去;
示例:gcc -c helloword.s -o helloword.o

第四步:链接

解释:将所有代码整合到一起,形成一个完整的可执行程序;

gcc xxx.o -o xxx
o:指定处理结果保存到哪个文件中去;

你可能感兴趣的:(c++,开发语言)