C++学习笔记(二):编译器工作方式

  • 将编写的文本文件转换成被称为目标文件的中间格式。
  • 编译器在编译之前首先对所有的预处理语句进行预处理
  • 编译器将所有的代码语句转换成常量数据或指令。编译器创建了抽象语法树之后,可以开始实际生成代码,即cpu将执行的代码。同时,我们还将得到其他数据,类如存储所有常量及变量的地方。
  • 编译器将每个cpp文件编译成对应的obj文件,这些cpp文件被称为翻译单元,翻译单元会生成obj文件
  • #define语句用法:#define INTERGER int    编译器在编译前扫描所有的INTERGER并将其替换成int。C++学习笔记(二):编译器工作方式_第1张图片
  • 在属性页将预处理到文件设置为是,编译文件,在项目所在的目录中会生成cpp对应的.i文件,打开可以看到iostream头文件有5w多行代码。
  • 注意打开预处理到文件的开关后,程序不会生成obj文件,故调试之后应该保持该开关处于关闭状态。
  • obj文件时二进制文件,打开后不具备可读性,可以将输出的obj文件转换成较为可读的方式,通过VS studio进行完成C++学习笔记(二):编译器工作方式_第2张图片
  • 在属性页中将汇编程序输出设置为仅有程序集的列表,之后编译项目,会生成cpp对应的.asm文件。

你可能感兴趣的:(c++,jvm,开发语言,学习,笔记)