#define
約300個の.cファイルの先頭にを含める必要があります。オープンソースコードであるため、コードを変更したくないのですが、変更する必要がある場合は、すべてのファイルを変更するスクリプトを作成します。#define
gccを使用して、コンパイル中にすべてのソースファイルの先頭にヘッダーファイルインクルードを追加する方法はありますか?これ#define
はこれです:
#define malloc MYmalloc
オプションに渡すことができ-Dmalloc=MYmalloc
ますgcc
。
-D
オプションの詳細については、以下をご覧ください。
http://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html
malloc
デバッグの目的で関数の動作を変更する場合は、glibc
malloc
フックにも関心がある可能性があることに注意してください。
http://www.gnu.org/software/libc/manual/html_node/Hooks-for-Malloc.html
gccオプション-D
:
-D name
Predefine name as a macro, with definition 1.
-D name=definition
....
だから、あなたの場合、gcc ... -Dmalloc=MYmalloc
呼び出しをカスタム関数にリダイレクトしようとする場合malloc()
は、実行時に実装をプリロードしてカスタムコードを提供することをお勧めします。詳細については、この質問を参照してください。