无论如何我可以确定被调用函数是否是用户定义的?例如:
void foo()
{
printf("hello world again");
}
int main()
{
printf("hello world\n");
foo();
}
在这种情况下 foo() 是用户定义,而 printf() 是库函数。
我目前使用的方法是遍历所有模块并检查其大小是否大于 0。IE:
for(Module::iterator F = M.begin(); F != M.end(); ++F)
{
Function &Func = *F;
if(F->size()>0)
errs() << "User Define";
}
但不确定它的准确性?