C++编译链接精要 C++语言的三大约束: 与C兼容, 零开销(zero overhead)原则, 值语义; 兼容C语言的编译模型与运行模型, 也就是锁能直接使用C语言的头文件和库; 头文件包含具有传递性, 引入不必要的依赖; 头文件是在编译时使用, 动态库文件是在运行时使用, 二者的时间差可能带来不匹配, 导致二进制兼容性方面的问题; C++的编译模型 C++ 继承了单遍编译; 编译器只能根据目前看到的代码做出决策, 读到后面的代码也不会影响前面做出的决定; 这特别影响名字查找(name lo…