August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
程序通常由几个单独的部分组成,它们经常由不同的人来开发。例如,“Hello,World!”程序包含我们编写的部分和C++标准库。这些单独的部分(有时称为编译单元)必须被编译,然后生成的目标代码必须被链接起来以形成一个可执行文件。用于将这些部分链接起来的程序(很自然地)被称为链接器。
请注意目标代码和可执行程序是不能在系统之间移植的。例如,当你为一台Windows机器编译时,你得到的支持Windows的目标代码无法在Linux机器上运行。
一个库是一些代码的集合,它们通常是由其他人编写的,我们通过#include的文件中的声明来访问库。一个声明是用于指出一段程序如何使用的一条语句,我们将在后面的章节(4.5.2节)中详细介绍声明。
由编译器发现的错误称为编译时错误,由链接器发现的错误称为链接时错误,直到程序运行时才发现的错误称为运行时错误或逻辑错误。通常来说,编译时错误比链接时错误更容易理解和改正,链接时错误比运行时错误和逻辑错误更容易发现和改正。在第5章中,我们将详细讨论这些错误和它们的解决方式。