前言
.cpp :源文件
.s : 源文件的汇编代码
.o : 可重定位目标文件
.a: 静态链接库
.so: 动态链接库
.exe :可执行文件,点击即可运行
C++程序编译过程
整个编译过程分为两大步:
1)编译 :把文本形式的源代码翻译成机器语言,并形成目标文件
2)连接 :把目标文件 操作系统的启动代码和库文件组织起来形成可执行程序
3)加载:

1.编译
1.1 编译预处理
预处理又称为预编译,是替换插入工作。编译器执行预处理指令(以#开头,例如#include),这个过程会得到不包含#指令的**.i文件**。这个过程会插入#include 包含的文件代码,进行#define 宏定义的替换 , 处理条件编译指令 (#ifndef #ifdef #endif)等

本文详细介绍了C++程序的编译过程,包括编译预处理、编译和汇编,生成.o目标文件。接着阐述了链接的静态链接与动态链接,解释了静态链接如何处理符号解析和重定位,以及动态链接在运行时如何实现共享库的链接。通过阅读,读者将深入理解C++程序从源代码到可执行文件的转变过程。

8870

被折叠的 条评论
为什么被折叠?



