跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris Studio 12.3:C++ 用户指南 Oracle Solaris Studio 12.3 Information Library (简体中文) |
在源码中包括适当的头文件。
将程序与目标库链接。
传统 iostream。该术语指的是 C++ 4.0、4.0.1、4.1 和 4.2 编译器所附带的 iostream 库,以及基于 cfront 的 3.0.1 编译器附带的更早的 iostream 库。没有用于此库的标准。它在 libiostream 中可用。
标准 iostream。该库是 C++ 标准库 libCstd 的一部分,仅在标准模式下可用。该库与传统 iostream 库的二进制和源码都不兼容。
如果已有 C++ 源,那么代码可能象以下示例一样使用传统 iostream。
// file prog1.cc #include <iostream.h> int main() { cout << "Hello, world!" << endl; return 0; }
以下示例使用了标准 iostream。
// file prog2.cc #include <iostream> int main() { std::cout << "Hello, world!" << std::endl; return 0; }
以下命令编译 prog2.cc 并将其链接到名为 prog2 的可执行程序中。该程序在标准模式下编译。缺省情况下,链接包括标准 iostream 库的 libCstd。
example% CC prog2.cc -o prog2
所谓的“传统”iostream 是指 iostream 的初始 1986 版本,已被 C++ 标准替代。它可通过 -library=rwtools7,iostream 选项选择。没有两个“传统”iostream 的实现是相同的,因此除了已过时之外,使用它的代码还不可移植。请注意,该库和选项在以后的 Oracle Solaris Studio 发行版中将停止使用。
随传统 Sun Studio 和 Oracle Studio 提供的 RW Tools.h++ 工具集最初发布于 1990 年,且至今未有显著的更新。它的 time 和 date 类具有无法修复的关于夏时制时间的严重问题。(该工具集的功能当前在 C++ 标准和 BOOST 之类的开源库中可用。)RW Tools.h++ 可通过 -library=rwtools7 或 -library=rwtools7_std 选项选择,并且在以后的 Oracle Solaris Studio 发行版中将停止使用。
下表显示了用于链接 C++ 库的编译器选项。有关更多信息,请参见A.2.49 -library=l[ ,l...]。
表 11-2 链接 C++ 库的编译器选项
|