c++中的库与类
Libraries vs classes in c++
我在C++中发现了一个术语,它是一个库。我正在读的这本书说iostream是一个图书馆,它是一个系统图书馆。然后,它在书中说,"稍后,你将创建自己的扩展名为.h的库"。库与类是否相同,因为很明显,当我包含.h库时,我实际上已经创建了一个类。如果一个库和一个类是一样的,那么在C语言中,它是一个类吗?非常感谢。
请注意,这只是一个简单的解释,所以你可以仔细考虑它,而不是一个迂腐的或准确完整的库定义。
库是将函数、类和其他东西打包在一起的集合。
例如,C++标准库(概念上)由许多库组成,例如:
- 字符串库
- 算法库
- 输入/输出库
- 等等
IO库包含一些类,如:
- std::iostream(实际上是
std::basic_iostream
的typedef) std::ios
std::istream
std::ostream
- 等等
为了使用库,您基本上需要两样东西:一个是库头,以便可以访问声明;另一个是需要链接到项目的库,以便可以使用该库导出的符号。操作系统预装了C++标准库,编译器在C++模式下会自动链接到它,所以你所要做的就是包含必要的头。
为了理解什么是头以及它的作用,您首先需要理解声明和定义之间的区别。你可以冷藏到定义和声明之间的区别是什么?或任何其他阅读材料。
然后,您需要了解编译单元的概念。您可以阅读C++中的"翻译单元"是什么,或者C++中的编译单元是如何定义的。
使用以上所有内容,您应该能够将多个源文件编译为一个可执行文件,并了解所涉及的基本机制。您可以阅读在c++程序中使用多个.cpp文件或如何使用多个源文件创建带有gcc 的单个对象文件
从这里开始,有一个小步骤可以创建和使用您自己的静态库。你可以从这里开始:如何用g++创建一个静态库?
另一个需要理解的重要概念是汇编/链接:汇编/链接过程是如何工作的?
或者,您需要知道的是,为了使用std::iostream
,您需要包括<iostream>
。最终,这取决于你想吸收多少"因为这就是它的方式",以及你想理解多少。只有选择其中一个选项(剧透:是后者),才能取得进展。
- 没有找到相关文章