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