小编Dal*_*lia的帖子

如何从 LLVM 中的 CallInst 获取间接调用的函数名称

Function *fun = call->getCalledFunction();
Run Code Online (Sandbox Code Playgroud)

getCalledFunction();如果是间接调用则返回 null。如何获取函数的名称或指针的名称?

我发现Stack Overflow中与此问题相关的所有问题都谈到了直接调用的函数名称或指针类型。

我只想跟踪这样的案例:

void foo(){}
void goo(){}
void main(){
  int x = 1;
  void (*p)();
  if(x)
    p = &foo;
  else
    p = &goo;
  p(); // print the called function name
}
Run Code Online (Sandbox Code Playgroud)

c++ llvm llvm-clang

6
推荐指数
1
解决办法
4461
查看次数

标签 统计

c++ ×1

llvm ×1

llvm-clang ×1