プログラムでLD_PRELOADされる共有オブジェクトライブラリを作成しています。その共有ライブラリでは、プログラムのいくつかの変数も使用したいと思います。そのような変数を宣言する方法は何ですか。共有オブジェクトライブラリは私のプログラムとは別にコンパイルされていることに注意してください。
質問する
248 次
1 に答える
2
はい。プログラムをリンクして--export-dynamic
、開いているライブラリからプログラムのシンボルテーブルにアクセスできるようにする必要があります。使用可能なシンボルを正確に制御しlibtool
、リンクに使用する場合は、使用可能なシンボル-export-symbols-regex
を指定するなどのパラメーターを使用できます。プログラムのロード時にライブラリに必要なシンボルが使用できない場合、未定義のシンボルで失敗します。一部のプラットフォーム(特にWindows)では、わずかに異なるリンクフラグが必要です。libtool
まだ行っていない場合は、これを簡単にするために使用することを検討してください。
于 2012-06-05T13:57:20.323 に答える