あなたはこのようなことをすることができます:
#define get_resolution __mock_get_resolution
グローバルにアクセス可能な場所(常に含めるヘッダーなど)で、次のようにします。
#undef get_resolution
void get_resolution()
{
}
#define get_resolution __mock_get_resolution
void display()
{
get_resolution();
}
醜いハックですが、sed(1)スクリプトを書く必要がなくなります。
テストケースは次のとおりです。
$ gcc -o test test.c
$ ./test
__mock_up
$ cat test.c
#include <stdio.h>
#define get_resolution __mock_up
int
__mock_up()
{
printf("__mock_up\n");
}
#undef get_resolution
int
get_resolution()
{
}
#define get_resolution __mock_up
int main()
{
get_resolution();
return 0;
}
$