跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris Studio 12.3:C++ 用户指南 Oracle Solaris Studio 12.3 Information Library (简体中文) |
下表列出了随 C++ 编译器提供的库,以及可以使用这些库的模式。
表 11-1 C++ 编译器附带的库
|
注 - 请勿重新定义或修改用于 STLport、Rogue Wave 或 Oracle Solaris Studio C++ 库的任何配置宏。库是按照适用于 C++ 编译器的方式配置和生成的。libCstd 和 Tools.h++ 配置为可互操作,因此,修改配置宏会导致程序不能编译、不能链接或不能正常运行。
本节提供了每个 C++ 库的简要描述。
libCrun-包含缺省标准模式 (-compat=5) 下编译器所需的运行时支持。并提供了对 new/delete、异常及 RTTI 的支持。
libCstd-C++ 标准库。需要特别指出的是,该库包含了 iostream。如果有使用传统 iostream 的现有源代码,而且要使用标准 iostream,必须修改源代码以符合新接口。有关详细信息,请参见《C++ 标准库参考》联机手册。
libiostream-使用 -compat=5 生成的传统 iostream 库。如果有使用传统 iostream 的现有源代码,且要在标准模式 (–compat=5) 下编译这些源代码,可以使用 libiostream 而不必修改源代码。可使用 – library=iostream 获取此库。
注 - 标准库的很大部分取决于使用的标准 iostream。在相同程序中使用传统的 iostream 可能会出现问题。
libstlport-C++ 标准库的 STLport 实现。可以通过指定选项 -library=stlport4,使用该库而非缺省的 libCstd。但不能在同一程序中同时使用 libstlport 和 libCstd。您必须使用其中一个库编译和链接包括导入库在内的一切项目。
librwtool (Tools.h++)-来自 RogueWave 的 C++ 基础类库。提供了版本 7。该库已过时,不应在新代码中使用该库。提供它是为了支持针对使用 RW Tools.h++ 的 C++ 4.2 编写的程序。
libgc-在部署模式或垃圾收集模式下使用。只是与 libgc 库链接就会自动且永久修复程序的内存泄漏。虽然能以其他方式正常编程,但如果将程序与 libgc 库链接,则无需调用 free 或 delete 就可完成编程。垃圾收集库对动态装入库具有依赖性,因此在链接程序时要指定 -lgc 和 -ldl。
有关其他信息,请参见 gcFixPrematureFrees(3) 和 gcInitialize(3) 手册页。
libdemangle-用于取消改编的 C++ 名称。
与本节所述库关联的手册页位于第 1、3、3C++ 和 3cc4 节中。
要访问 C++ 库的手册页,请输入:
example% man library-name
要访问 C++ 库版本 4.2 的手册页,请输入:
example% man -s 3CC4 library-name
在生成可执行程序时会缺省链接 C++ 库,但生成共享库 (.so) 时不会链接。在生成共享库时,必须显式列出所有必需的库。如果在生成可执行程序时省略了某个所需库,并且该库是缺省库,则 -zdefs 选项将会使链接程序发出警报。缺省情况下,CC 驱动程序链接以下库:
有关更多信息,请参见A.2.49 -library=l[ ,l...]。