c代码编译完整过程详解

1】预处理阶段

预处理阶段 gcc -E main.c -o main.i

在此阶段会去掉所有的宏,比如宏定义,包含的头文件等会全部包含进来

2】编译阶段 gcc -S mian.i -o main.s

 在此阶段会将c源代码编译成汇编代码

3】汇编阶段 gcc -c main.c -o main.o

此阶段将会汇编代码生成目标文件,机器可识别的机器码

4】链接阶段 gcc main.o -o main

此阶段是机器去执行目标文件中寻找所链接的库,经过此阶段将生成可执行文件。

静态库是添加到可执行文件中,动态库是运行时再去链接,所以前者比后者的可执行文件要大。

猜你喜欢

转载自www.cnblogs.com/bliss-/p/12889704.html