Oracle Solaris Studio 12.2:C++ 用户指南

A.2.33 –h[ ]name

为生成的动态共享库指定名称 name

这是一个链接程序选项,传递给 ld。通常,-h 后面的名称应该与 –o 后面的名称完全相同。–hname 之间的空格是可选的。

编译时的加载器将指定名称分配到正在创建的共享动态库中,并将该名称作为库的内部名称记录在库文件中。如果没有 –hname 选项,则没有内部名称记录在库文件中。

每个可执行文件都具有所需的共享库文件列表。当运行时链接程序将库链接到可执行文件中时,链接程序将内部名称从库复制到所需共享库文件的列表中。如果没有共享文件的内部名称,链接程序就复制共享库文件的路径。

没有使用 -h 选项生成共享库时,运行时加载器仅查找库的文件名。可以将库替换为具有相同文件名的不同库。如果共享库有内部名称,加载器会在装入文件时检查内部名称。如果内部名称不匹配,加载器不会使用替换文件。

A.2.33.1 示例


example% CC -G -o libx.so.1 -h libx.so.1 a.o b.o c.o