编译过程简介:
预编译:gcc -E file.c -o file.i
处理注释,以空格代替
将宏定义展开
处理条件编译指令
处理#include,展开被包含的文件
保留编译器需要使用的#pragma指令
编译: gcc -S file.i -o file.s
对预处理文件进行词法分析,语法 分析,语义分析
汇编:gcc -c file.s -o hello.o
将汇编代码翻译成机器码
链接:
将各个模块之间的相互引用的部分处理好,使得各个模块之间能够正确的衔接。将各个独立的模块链接成可执行的程序
静态链接:各个模块简单连接,编译期完成
动态链接:共享库文件,运行期完成
时间: 2024-12-14 18:18:39