2012年10月18日木曜日

関数の入口出口で関数を呼ぶには

gcc でコンパイルする場合、関数の入口と出口で別の関数を呼ぶことができる。
まず、コンパイル時に -finstrument-functions を付けて、コンパイルしておく。
すると、各関数の入口と出口で

void __cyg_profile_func_enter(void* func_addr, void* call_site);
void __cyg_profile_func_exit(void* func_addr, void* call_site);
が呼ばれるので、これらの関数を共有ライブラリとして用意しておいて使う。

0 件のコメント:

コメントを投稿