7 c
目前使用VS2005在Windows上编码(但不介意知道是否有其他编译器和平台的选项.我最感兴趣的是OSX作为替代平台.)我有一个C(没有C++)程序,我想要做以下......
给定一个功能,比如......
int MyFunction(int myparam)
{
// Entry point.
...
// Exit point.
return 1;
}
Run Code Online (Sandbox Code Playgroud)
我想在入口点和出口点放一段代码.但是,我宁愿不必修改已经存在的100个函数.有没有办法定义编译器将为我的所有函数注入的函数入口和退出代码,而无需全部修改它们?
我发现或尝试过的大多数解决方案都需要我编辑每一个功能,这是很多工作.我认为其他人必须已经打过这样的东西并解决了它.在我怀疑的这个要求中,我不能独一无二.
小智 6
GCC具有-finstrument-functions标志,允许您定义将在每个函数调用的开头和结尾调用的两个函数:
void __cyg_profile_func_enter(void *this_fn, void *call_site);
void __cyg_profile_func_exit(void *this_fn, void *call_site);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2706 次 |
| 最近记录: |