C/C++编译就是要将C/C++的代码映射到相应的机器码,以及讨论其中的内存管理模式,包括内存的分配,如何使用等等,整型、数组、指针等这些在内存中的实现机制。
C/C++的编译包括几个部分,分别是编译,汇编和链接。
1. 编译,就是将相应的高级语言代码映射到汇编语言,处理define,include等命令,加载外部的代码;
2. 汇编,就是将汇编语言映射到机器码;
3. 链接,形成相应的动态和静态链接库。动态连接库是在程序运行时动态的加载,静态连接库是直接拷贝进入程序,在程序执行时,这些静态连接库加载进来。
静态链接库不同于动态链接库(*.dll),在静态库情况下,函数和数据被编译进一个二进制文件(通常扩展名为*.LIB),Visual C++的编译器在链接过程中将从静态库中恢复这些函数和数据并把他们和应用程序中的其他模块组合在一起生成可执行文件。这个过程称为"静态链接",此时因为应用程序所需的全部内容都是从库中复制了出来,所以静态库本身并不需要与可执行文件一起发行。