cpp学习日志-1
cpp是运行程序原理
预处理指令
对于一个编写好的cpp程序,main函数是它的入口文件。在开始编译之前,程序会评估#include
后面的内容,这个内容叫做预处理指令。
1 |
对于入门小白来说,可以理解为程序在编译之前,会把预处理指令复制到文件里
机器码转换
例如在vs里,有配置和solution platform两个很重要的选项。配置用来决定build(构建)项目时的一系列规则。而solution platform则是我们要决定构建的目标平台。例如,我选择windows X86 ,那么我的代码将被构建为能够被windows X86 运行的机器码
右击项目,进入属性,就能看到configuration以及platform。根据我选择Realese还是Debug,就能看到下面选项发生变化,这会导致构建软件时的一个个规则发生改变
正如上文所说,预处理指令(或者我们可以叫他头文件 header file)是在项目编译前被“粘贴”进入到项目中的,所以,在编译项目前,头文件不会被编译。只有,当它被粘贴进项目时,才会开始编译
对于cpp文件来说,编译是一个个文件进行的。每个cpp文件被编译后,会生成中间文件,这个文件在windows系统上,后缀名为.obj。一个文件对应一个obj,很显然是不能满足程序需要的,大型的程序一般都是多个cpp文件编译而来,所以我们需要有一个“引线”将这些文件串联起来。这个“引线”我们叫他linker(链接器),负责将一个个.obj联系为最终的exe文件。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 himbro的小屋!