程序运行始末
1.编译器将组成程序的每一个源代码(.c)文件经过编译器complier分别编译为目标代码(Windows ->.obj;类Unix->.o),然后由链接器linker包含头文件(用户自定义头文件.h 或.hpp与引用库里的头文件.h)和所有目标代码生成一个单一的可执行文件(.exe).执行exe文件时,由操作系统将文件内容加载进内存,
预处理prepressing 编译compilation 汇编assembly 链接 linking
GCC命令选项:ESC 文件后缀:ISO
编译过程分为预处理阶段、解析源代码、生成目标代码。
一、预处理阶段\预编译: gcc -E test.c -o test.i
- #include头文件的包括
- 删除所有的#define并完成宏的替换
- 清除注释(替换为空格)
- 处理所有条件编译指令
- 添加行号和文件名标识
- 保留#pragma编译器指令给编译器使用。结束生成 .i (.ii C++)文件.