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

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

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

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

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

サンプル

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

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

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