c代码编译完整过程详解

1】预处理阶段

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

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

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

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

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

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

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

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

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

posted @ 2020-05-14 16:45  HuDaXia  阅读(812)  评论(0编辑  收藏  举报