-
一个C++源文件从文本到可执行文件经历的过程?
对于C++源文件,从文本到可执行文件一般需要四个过程:
1、预处理阶段:对源代码文件中文件包含关系(头文件)、预编译语句(宏定义)进行分析和替换,生成预编译文件。
2、编译阶段:将经过预处理后的预编译文件转换成特定汇编代码,生成汇编文件
3、汇编阶段:将编译阶段生成的汇编文件转化成机器码,生成可重定位目标文件
4、链接阶段:将多个目标文件及所需要的库连接成最终的可执行目标文件
-
include 头文件的顺序以及双引号 “ ” 和尖括号 < > 的区别?
【C++头文件的包含顺序研究】、【区别】
《C++编程思想》P432提到:头文件被包含的顺序是从“最特殊到最一般”。这就是,在本地目录的任何头文件首先被包含。然后是我们自己的所有“工具”头文件,随后是第三方库头文件,接着是标准C++库头文件和C库头文件。
【优点】:《C++编程思想》则很容易让你清楚知道你所定义的接口是否和系统库及第三方库发生冲突。
《Google C++ 编程风格指南》遵循的顺序“从一般到特殊”的原则:C标准库、C++标准库、其它库的头文件、你自己工程的头文件 中漏了最前面的一项:操作系统级别的头文件,比如上面的例子sys/types.h估计不能归入C