鸟哥的c++入门课(4)--编译链接
程序是由cpu来执行的,而cpu只认识机器代码。比如我们写的第一个程序,在内存中是这个样子的
这些就是机器码的十六进制的表示,而我们的源代码是这样的
1 // 我的第一个程序 2 #include <iostream> 3 4 int main() 5 { 6 std::cout << "Hello World!"; 7 }
将源代码转化为机器码的就是编译器。
广义上的编译过程是由一系列以编译器为核心的工具完成的,这一系列的工具通常被称为编译器工具链。
源代码转化为机器码的过程主要由三个主要部分组成:预处理、编译和链接
预处理是处理执行预处理指令的过程。预处理指令就是以#开头的指令。
编译是将预处理后的单个c++代码转换成对应的包含机器码的目标文件。
链接是将多个目标文件和相应的库文件组合成可执行文件的过程。
windows上的编译链接过程可用下图简单表示