从C++编译过程说起来

准备开始写QT的博客,第一篇准备探讨C++的编译顺序.

诚然QT技术不仅仅是C++,但是C++绝对是QT技术的核心之一



这一部分内容在C++标准 Lexical conventions 的 phases of translation之下

本文只是简述,如果想要查看详细信息请参看标准文档


  1. 字符集转换

  2. 断行连接

    简单的说就是将结尾是 / 的行连起来

  3. 处理注释和空白

    简单的说就是将注释变为空格,注意这一步在 "断行连接" 之后

  4. 预处理

    预处理大家很熟悉了吧,注意这一步在 "处理注释和空白" 之后

    #define SomeThing //....

    这里的注释会在预处理之前就被换成空格

  5. 处理转义字符

  6. 合并字符串字面值

    类似于"abc""def"合并为"abcdef"

  7. 编译连接生成产物

    这一步俺从简了,因为这一般完全是编译器干的事,程序员只要控制几个编译连接参数(在MakeFile里体现)即可




本文出自 “AboutQT” 博客,请务必保留此出处http://nanguazhude.blog.51cto.com/2344154/1613721

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。