《基础知识——编译与底层》

  • 一个C++源文件从文本到可执行文件经历的过程?

对于C++源文件,从文本到可执行文件一般需要四个过程

1、预处理阶段:对源代码文件中文件包含关系(头文件)、预编译语句(宏定义)进行分析和替换,生成预编译文件。

2、编译阶段:将经过预处理后的预编译文件转换成特定汇编代码,生成汇编文件

3、汇编阶段:将编译阶段生成的汇编文件转化成机器码,生成可重定位目标文件

4、链接阶段:将多个目标文件及所需要的库连接成最终的可执行目标文件

  • include 头文件的顺序以及双引号 “ ” 和尖括号 < > 的区别?

 

C++头文件的包含顺序研究】、【区别】

《C++编程思想》P432提到:头文件被包含的顺序是从“最特殊到最一般”。这就是,在本地目录的任何头文件首先被包含。然后是我们自己的所有“工具”头文件,随后是第三方库头文件,接着是标准C++库头文件和C库头文件。

【优点】:《C++编程思想》则很容易让你清楚知道你所定义的接口是否和系统库及第三方库发生冲突。

《Google C++ 编程风格指南》遵循的顺序“从一般到特殊”的原则:C标准库、C++标准库、其它库的头文件、你自己工程的头文件  中漏了最前面的一项:操作系统级别的头文件,比如上面的例子sys/types.h估计不能归入C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值