JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:C++ 用户指南     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分C++ 编译器

1.  C++ 编译器

2.  使用 C++ 编译器

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

第 2 部分编写 C++ 程序

4.  语言扩展

5.  程序组织

6.  创建和使用模板

7.  编译模板

8.  异常处理

9.  改善程序性能

10.  生成多线程程序

第 3 部分库

11.  使用库

12.  使用 C++ 标准库

13.  使用传统 iostream

14.  生成库

14.1 了解库

14.2 生成静态(归档)库

14.3 生成动态(共享)库

14.4 生成包含异常的共享库

14.5 生成专用的库

14.6 生成公用的库

14.7 生成具有 C API 的库

14.8 使用 dlopen 从 C 程序访问 C++ 库

第 4 部分附录

A.  C++ 编译器选项

B.  Pragma

词汇表

索引

14.6 生成公用的库

在组织生成一个供其他公司使用的库时,库的管理、平台的一般性以及其他问题就变得尤为重要。用于检验库是否为公用库的一个简单测试就是询问应用程序程序员是否可以轻松地重新编译该库。生成公用库时应该符合系统的应用程序二进制接口 (application binary interface, ABI)。通常,这意味着应该避免任何特定于处理器的选项。(例如,不要使用 -fast-xtarget。)

SPARC ABI 为应用程序保留了一些专用寄存器。对于 SPARC V7 和 V8,这些寄存器是 %g2%g3%g4。对于 SPARC V9,这些寄存器是 %g2%g3。由于大多数编译是针对应用程序的,所以在缺省情况下,为了提高程序的性能,C++ 编译器使用这些寄存器作为临时寄存器。但是,对公用库中寄存器的使用通常不兼容于 SPARC ABI。生成公用库时,请使用 -xregs=no%appl 选项编译所有对象,以确保不会使用应用程序寄存器。