背景
我正在OMAP 5 (ARM)开发并使用基于QNX gcc
的C ++编译器。
我知道the ability of gcc to insert a custom entry/exit callback for each function,但我想了解更多信息。
问题
对于初学者,我想要检测每个控制流语句
void func()
{
if(bob == 9)
{
bob = 55;
}
else
{
bob = 101;
}
}
会变成
void func()
{
if(bob == 5)
{
MACRO(0x1433) //0x1433 = ID for this particular if-statement
bob = 55;
}
else
{
MACRO(0x3243) //0x3243 = ID for this particular else-statement
bob = 99;
}
}
我知道我可以自己进行解析,但是对于更复杂的语句,它会变得混乱。
问题
gcc编译器已经在编译过程中解析了代码。
有什么方法可以利用一些中间输出,这样我就可以更容易地识别控制流语句了吗?
显然有预处理输出,但只能解析宏