如何通过gcc在功能的序言和结语中设置汇编指令

use*_*340 3 c embedded gcc

我尝试为某个c项目构建探查器.我希望gcc在编译时在所有函数入口和函数出口点中设置一些汇编指令.我尝试在网络上搜索一些指南,但没有成功.我在哪里可以学习如何做到这一点?

预先感谢.

Mic*_*ael 5

显然,您可以使用该-finstrument-functions标志来获取gcc以生成检测调用

void __cyg_profile_func_enter(void *func, void *callsite); 
void __cyg_profile_func_exit(void *func, void *callsite); 
Run Code Online (Sandbox Code Playgroud)

在功能进入和退出.我从来没有使用过这个,但是快速搜索会在这里,这里,这里这里显示信息和示例.

  • 还要注意`no_instrument_function`属性,它可以在cyg_profile函数本身上使用,以防止无限递归. (3认同)