图书馆是一个封装的代码是在许多程序中重用。通常,一个库包含头文件包含所有图书馆希望揭露声明(公开)的用户,和一个预编译的对象,包含所有的实现代码编译成机器语言。这些库通常有一个。库或扩展DLL。在Windows,和。或。所以扩展UNIX。为什么图书馆预编译?首先,因为图书馆很少改变,他们不需要重新编译的时候,如果有。这将是你写的,编译应用程序每次浪费时间。第二,由于预编译的对象是机器语言,它阻止人们访问或更改源代码,这是非常重要的企业或人谁不想让自己的源代码提供知识产权方面的原因。
我们使用前向声明使编译器会知道什么是在编译main.cpp添加。正如前面提到的,写了每一个功能要在另一个文件中使用的声明可以乏味地生活。
头文件能减轻我们的负担。头文件只需编写一次,它可以包含在多个文件需要。这也有助于最大限度地减少需要如果函数原型所变化的数量变化的维护(如添加一个新的参数)。
编写自己的头文件是非常容易的。头文件包含两个部分。第一部分是被称为头文件保护,这是在下节课讨论(在前)。第二部分是对实际的内容。文件,这应该是所有我们需要其他文件,可以看到函数的声明。我们的头文件都应该有一个。H扩展,所以我们会打电话给我们新的头文件中添加H:
你可能会好奇为什么我们使用尖括号内为iostream,和双引号添加。H。答案是角括号是用来告诉编译器,我们包括头文件,包括编译器。双引号告诉编译器,这是头文件,我们提供,这使它在当前目录中包含源代码首先寻找那个头文件。
规则:使用尖括号内包含的头文件来编译。使用双引号包含其他头文件。
另一个常见的问题是“为什么不都有扩展。H?“。答案是,因为iostream。H比iostream头文件是不同的!解释需要一个很短的历史教训。