Linux* の C/C++ 動的メモリー・インターフェイスの置換

プロキシー・ライブラリーのリリースバージョンは libtbbmalloc_proxy.so.2、デバッグバージョンは libtbbmalloc_proxy_debug.so.2 です。

以下の動的メモリー関数が置換されます。

LD_PRELOAD 環境変数を使用して (実行ファイルを変更しないで) プログラムロード時にプロキシー・ライブラリーをロードするか、メイン実行ファイルをプロキシー・ライブラリーとリンクして、置換を行うことができます。

OS プログラムローダーは、プログラムロード時にプロキシー・ライブラリーとスケーラブル・メモリー・アロケーター・ライブラリーを検索可能でなければなりません。検索可能にするには、ライブラリーを含むディレクトリーを LD_LIBRARY_PATH 環境変数に追加するか、/etc/ld.so.conf に記述します。

動的メモリー置換には次の制限があります。

サンプル

下記のサンプルは、メモリー割り当て置換インターフェイスを使用するように LD_PRELOAD を設定する方法とプログラムをリンクする方法を示しています。

# プロキシー・ライブラリーのリリースバージョンをロードするように LD_PRELOAD を設定
LD_PRELOAD=libtbbmalloc_proxy.so.2 
# プロキシー・ライブラリーのリリースバージョンとリンク
g++ foo.o bar.o -ltbbmalloc_proxy -o a.out

ライブラリーのデバッグバージョンを使用するには、上記のサンプルの tbbmalloc_proxytbbmalloc_proxy_debug に置き換えます。