我在C ++中遇到了一个术语库,它是一个库。我正在阅读的书中指出iostream是一个库,它是一个系统库。之后,它在书中说,"之后,您将创建自己的扩展名为.h"的库。库是和类一样的,因为很明显,当我包含我的.h库时,我实际创建了一个类。 如果一个库与一个类相同,我们可以用C语言说什么呢,它是一个类吗? 谢谢。
答案 0 :(得分:2)
请注意,这只是一个简单的解释,因此您可以围绕它,而不是一个迂腐或完整的库定义。
库是函数,类和其他包装在一起的东西的集合。
例如,C ++标准库(概念上)由许多库组成,例如:
The IO library包含一些类:
std::basic_iostream
的typedef)std::ios
std::istream
std::ostream
为了使用库,您基本上需要两件事:库头以便能够访问声明,以及需要链接到项目的库,以便能够访问由此类库导出的符号。操作系统预装了C ++标准库,编译器 - 在C ++模式下 - 自动链接到它,所以你要做的就是包含必要的标题。
为了理解标题是什么以及它的作用,您首先需要了解声明和定义之间的区别。您可以转到What is the difference between a definition and a declaration?或任何其他阅读材料。
然后你需要了解编译单元的概念。您可以阅读What is a “translation unit” in C++或How is compilation unit defined in c++。
使用以上所有内容,您应该能够将多个源文件编译为一个可执行文件,并了解所涉及的基本机制。您可以阅读Using multiple .cpp files in c++ program或How to use multiple source files to create a single object file with gcc
从这里开始,可以创建和使用自己的静态库。你可以从这里开始:How to create a static library with g++?
要理解的另一个重要概念是编译/链接:How does the compilation/linking process work?
...或者您需要知道的是,为了使用std::iostream
,您需要包含<iostream>
。归根结底,它取决于你想要吸收多少&#34;因为它是如何完成的?#34;你想了解多少只有当你选择其中一个选项时才能取得进展(剧透:它是后者)。