2011-08-15 11 views
2

メインプログラムAでtcmallocを使用するのは、リンク時に-ltcmallocを追加することです。 Aが起動すると、プリコンパイルされた.soファイル(B.so、C.soなど)が動的にロードされます。 B.soとC.soのmalloc()は自動的にtcmallocを使用しますか?動的ライブラリを持つプログラムでtcmallocを使用する方法

+0

"動的"とは、読み込み時または実行時( 'dlopen')で意味しますか? –

答えて

3

Aが起動すると、プリコンパイルされた.soファイル(B.so、C.soなど)が動的に読み込まれます。 B.soとC.soのmalloc()は自動的にtcmallocを使用しますか?

ご使用のOSによって異なりますが、おそらくアーカイブまたは共有バージョンlibtcmallocを使用しているかどうかによって異なります。

libtcmalloc.soをLinux(および他のELFプラットフォーム)で使用している場合、答えはyesです。
Linuxの場合、libtcmalloc.aを使用すると、答えは「可能性が最も高い」です。それを「明確なyes」にするには、メインの実行可能ファイルのリンク行に-rdynamicを追加します。
B.soC.soのリンク行に一連の重要なオプションを追加しない限り、AIXでは答えはノーです。

関連する問題