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

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


从C++编译过程说起来_Qt


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

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


  1. 字符集转换

  2. 断行连接

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

  3. 处理注释和空白

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

  4. 预处理

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

    #define SomeThing //....

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

  5. 处理转义字符

  6. 合并字符串字面值

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

  7. 编译连接生成产物

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