1

Google prof ツールを使用しており、アプリを -lprofiler にリンクしていますが、このプログラムを実行すると、共有ライブラリの読み込み中にエラーが発生しました: libprofiler.so.0: 共有オブジェクト ファイルを開けません: そのようなファイルやディレクトリはありません

逆に、-ltcmalloc とリンクすると、実行時に tcmalloc.so は必要ありません。

プロファイラーの静的ライブラリを既にリンクしていますが、なぜ実行時に必要なのですか?

4

1 に答える 1

1

静的ライブラリには、共有オブジェクトから実際の関数を動的に呼び出すためのスタブが含まれているだけです。したがって、.so も必要になります。静的ライブラリを使用すると、作業が楽になるためGetProcAddress()、システムに何かを書く必要がなくなります。

于 2011-09-07T10:48:40.887 に答える