传统 iostream。该术语是指 C++ 4.0、4.0.1、4.1 和 4.2 编译器以及早期基于 cfront 的 3.0.1 编译器附带的 iostream 库。没有用于此库的标准。在兼容模式下,该库是 libC 的一部分,在标准模式下,libiostream 中也有该库。
标准 iostream。这是 C++ 标准库 libCstd 的一部分,仅用于标准模式下。该库与传统 iostream 库的二进制和源码都不兼容。
如果已有 C++ 源,那么代码可能象以下示例一样使用传统 iostream。
// file prog1.cc #include <iostream.h> int main() { cout << "Hello, world!" << endl; return 0; } |
以下命令在兼容模式下编译 prog1.cc,并将其链接到名为 prog1 的可执行程序中。传统 iostream 库是 libC 的一部分,兼容模式下缺省链接该库。
example% CC -compat prog1.cc -o prog1 |
下一个示例使用标准 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 |
有关编译模式的完整讨论,请参见《C++ 迁移指南》。