もう 1 つのオプションは、バージョン スクリプト ファイルを使用することです。これは、Linux、Solaris/GCC、Solaris/CC で動作します。
例
power3()
関数だけがグローバルに利用できる共有ライブラリを考えてみましょう。これはpower2()
、別の翻訳単位で定義されている which を使用し、power2()
非表示にする必要があります。
次のバージョン スクリプトはこれを指定します。
$ cat vscript
{
global: power3;
local: *;
};
Linux と Solaris でのリンクには 1 つのファイルを使用できます。Linux/Solaris は同じ構文構造を理解しているようです。
ビルド コマンド
システム コンパイラ リンク コマンド
―――――――――――――――――――――――――――――――――――――――――――――――――― ―――――――――――――――――――――――――――――――――――――――――――
Linux Fedora 17 gcc-4.7.2 cc -shared -Wl,--version-script,vscript -fpic -o libpower.so ...
Solaris 10 gcc-4.8* gcc -shared -Wl,-M,vscript -fpic -o libpower.so ...
Solaris 10 cc 12.3 cc -shared -M vscript -fpic -o libpower.so ...
Solaris の GCC はld
/ as
fromを使用するように構成されていることに注意してください/usr/ccs/bin
。