C++ ユーザーズガイド

-hname

生成する動的共有ライブラリに名前 name を割り当てます。

これはローダー用のオプションで、ld に渡されます。通常、-h の後に指定する name (名前) は、-o の後に指定する名前と同じでなければなりません。-h と name の間には、空白文字を入れても入れなくてもかまいません。

コンパイル時のローダーは、指定された名前を作成中の動的共有ライブラリに割り当て、そのライブラリのイントリンシック名 (固有名) としてライブラリの中に記録します。 -hname (名前) オプションを指定しないと、イントリンシック名はライブラリファイルに記録されません。

実行可能ファイルはすべて、必要な共有ライブラリファイルのリストを持っています。実行時のリンカーは、ライブラリを実行可能ファイルにリンクするとき、ライブラリのイントリンシック名をこの共有ライブラリファイルのリストの中にコピーします。共有ライブラリにイントリンシック名がないと、リンカーは代わりにその共有ライブラリファイルのパス名を使用します。


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