CC 驱动程序提供了一些选项来帮助用户使用库。
-mt 选项用于编译和链接多线程代码。
-xia 选项用于链接区间运算库。
-xlang 选项用于链接 Fortran 或 C99 运行时库。
–library 选项用于指定 Sun C++ 编译器附带的下列库:
libCrun
libCstd
libiostream
libC
libcomplex
libstlport、libstlport_dbg
librwtool、librwtool_dbg
libgc
要使用传统 iostream 形式的 librwtool,请使用 -library=rwtools7 选项。要使用标准 iostream 形式的 librwtool,请使用 -library=rwtools7_std 选项。
以下命令动态链接传统 iostream 形式的 Tools.h++ 版本 7 和 libiostream 库。
example% CC test.cc -library=rwtools7,iostream |
以下命令静态链接 libgc 库。
example% CC test.cc -library=gc -staticlib=gc |
以下命令在兼容模式下编译 test.cc 并静态链接 libC。因为在兼容模式下缺省链接 libC,所以不必使用 – library 选项指定该库。
example% CC test.cc -compat=4 -staticlib=libC |
以下命令排除了库 libCrun 和 libCstd,否则缺省情况下这两个库包括在内。
example% CC test.cc -library=no%Crun,no%Cstd |
缺省情况下,CC 根据命令行选项链接不同的系统库集合。如果指定 -xnolib(或 -nolib),CC 仅链接在命令行上使用 -l 选项显式指定的那些库。(如果使用 -xnolib 或 -nolib,会忽略 -library 选项(如果有)。)
使用 –R 选项可以在可执行文件中生成动态库搜索路径。执行期间,运行时链接程序使用这些路径搜索应用程序所需的共享库。缺省情况下,CC 驱动程序将 – R<install_directory>/lib 传递给 ld(如果编译器安装在标准位置中)。可以使用 -norunpath 禁止在可执行文件中生成共享库的缺省路径。
对于针对部署生成的程序,应该使用 -norunpath 或 -R 选项进行生成,这样可避免在编译器目录中查找库。(请参见12.6 使用共享库)。