程序通常由几个单独的部分组成, 它们经常由不同的人来开发。例如, “Hello, World!”程序包含我们编写的部分和C++标准类库。这些单独的部分(有时称为翻译单元)必须被编译, 其目标代码必须被链接起来以形成一个可执行程序。用于将这些部分链接起来的程序通常称为链接器。
请注意目标代码和可执行程序是不能在系统之间移植的。例如, 当你为一台Windows机器进行编译时, 你得到的支持Windows的目标代码无法在Linux机器上运行。
库是一些代码的集合, 它们通常是由其他人编写的, 我们用#include文件中的声明来访问这些代码。声明用于指出一段程序如何使用一条语句。
由编译器发现的错误称?嘁胧贝砦螅?由链接器发现的错误称为链接时错误, 直到程序运行时仍未发现的错误称为运行时错误或逻辑错误。通常来说, 编译时错误比链接时错误更容易理解和修正, 链接时错误比运行时错误和逻辑错误更容易发现和修正。