Oracle® Developer Studio 12.5:C++ 用户指南

退出打印视图

更新时间: 2016 年 7 月
 
 

11.2.1 C++ 库描述

本节提供了每个 C++ 库的简要描述。

  • libCrun-包含 -compat=5 模式下编译器所需的运行时支持。并提供了对 new/delete、异常及 RTTI 的支持。

  • libCstd-C++ 标准库。需要特别指出的是,该库包含了 iostream。在 Oracle Solaris 上的 –compat=5 模式下,此库是缺省值。在 Oracle Linux 上,使用 –library=Cstd 可获取此库。如果有使用传统 iostreams 的现有源代码,而且要使用标准 iostreams,必须修改源代码以符合新接口。

  • libiostream-使用 -compat=5 生成的传统 iostream 库。如果有使用传统 iostream 的现有源代码,且要使用 –compat=5 编译这些源代码,可以使用 libiostream 而不必修改源代码。可使用 –library=iostream 获取此库。


    注 -  标准库的很大部分取决于使用的标准 iostream。在相同程序中使用传统的 iostream 可能会出现问题。
  • libstlport-C++ 标准库的 STLport 实现。可以通过指定选项 -library=stlport4,使用该库而非缺省的 libCstd。但不能在同一程序中同时使用 libstlportlibCstd。您必须使用其中一个库编译和链接包括导入库在内的一切项目。

  • libstdcxx-C++ 标准库的 Apache stdcxx 实现。通过指定选项 –library=stdcxx4,可以使用该库而非缺省的 libCstd。但不能在同一程序中同时使用 libstdcxxlibCstd。您必须使用其中一个库编译和链接包括导入库在内的一切项目。

  • libgc-在部署模式或垃圾收集模式下使用。只是与 libgc 库链接就会自动且永久修复程序的内存泄漏。虽然能以其他方式正常编程,但如果将程序与 libgc 库链接,则无需调用 freedelete 就可完成编程。垃圾收集库对动态装入库具有依赖性,因此在链接程序时要指定 -lgc-ldl

    有关其他信息,请参见 gcFixPrematureFrees(3) 和 gcInitialize(3) 手册页。

  • libdemangle-用于取消改编的 C++ 名称。

  • libstdc++-C++ 标准库的 gcc 实现,在 -std=c++03-std=c++11-std=c++14 模式下使用。

  • libgcc_s – 包含对 libstdc++ 中使用的代码的运行时支持。

  • libCrunG3-包含 -std=c++03-std=c++11-std=c++14 模式下编译器所需的运行时支持。并提供了对 new/delete、异常及 RTTI 的支持。

  • libstatomic-包含原子操作所需的运行时支持函数。对于用户代码,此库在 c++11c++14 模式下使用;对于一些运行时库代码,此库在 c++03 模式下使用。用户可以使用 –xatomic 选项控制此库的链接。