JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.2:C++ 用户指南
search filter icon
search icon

文档信息

前言

第 1 部分C++ 编译器

1.  C++ 编译器

2.  使用 C++ 编译器

3.  使用 C++ 编译器选项

第 2 部分编写 C++ 程序

4.  语言扩展

5.  程序组织

6.  创建和使用模板

7.  编译模板

8.  异常处理

9.  改善程序性能

10.  生成多线程程序

第 3 部分库

11.  使用库

11.1 C 库

11.2 随 C++ 编译器提供的库

11.2.1 C++ 库描述

11.2.2 访问 C++ 库的手册页

11.2.3 缺省 C++ 库

11.3 相关的库选项

11.4 使用类库

11.4.1 iostream

11.4.2 complex

11.4.3 链接 C++ 库

11.5 静态链接标准库

11.6 使用共享库

11.7 替换 C++ 标准库

11.7.1 可以替换的内容

11.7.2 不可替换的内容

11.7.3 安装替换库

11.7.4 使用替换库

11.7.5 标准头文件实现

11.7.5.1 替换标准 C++ 头文件

11.7.5.2 替换标准 C 头文件

12.  使用 C++ 标准库

13.  使用传统 iostream

14.  使用复数运算库

15.  生成库

第 4 部分附录

A.  C++ 编译器选项

B.  Pragma

词汇表

索引

11.5 静态链接标准库

CC 驱动程序在缺省情况下链接几个库的共享版本(包括 libclibm),这通过为每个缺省库将 -llib 选项传递给链接程序来实现。(有关兼容模式和标准模式下的缺省库列表,请参见11.2.3 缺省 C++ 库。)

如果要静态链接其中任何缺省库,可以使用 -library 选项–staticlib 选项来静态链接 C++ 库。例如:

example% CC test.c -staticlib=Crun

在此示例中,没有在命令中显式包括 -library 选项。这种情况下,无需 -library 选项,因为在标准模式(缺省模式)下,-library 的缺省设置是 Cstd,Crun

也可以使用 -xnolib 编译器选项。使用 -xnolib 选项时,驱动程序不会将任何 -l 选项传递给 ld,所以您必须自己传递这些选项。以下示例显示了在 Solaris 8 或 Solaris 9 操作系统中如何静态链接 libCrun 以及如何动态链接 libmlibc

example% CC test.c -xnolib -lCstd -Bstatic -lCrun– Bdynamic -lm -lc

-l 选项的顺序很重要。– lCstd– lCrun-lm 选项位于 -lc 之前。


注 - 建议不要静态链接 libCrunlibCstd。而是生成 /usr/lib 中的动态版本以与其所安装在的 Solaris 版本一起使用。


有些 CC 选项链接到其他库。也可以使用 -xnolib 抑制这些库链接。例如,使用 -mt 选项会导致 CC 驱动程序将 -lthread 传递给 ld。但如果同时使用 –mt–xnolibCC 驱动程序不会将 -lthread 传递给 ld。有关更多信息,请参见A.2.153 -xnolib。有关 ld 的更多信息,请参见《链接程序和库指南》。


注 - /lib/usr/lib 中静态版本的 Solaris 库不再可用。例如,试图静态链接 libc 的操作将失败:

      CC hello.cc -xnolib -lCrun -lCstd -Bstatic -lc