clang-11添加什么编译选项支持Function Call Graph
时间: 2024-04-20 12:27:41 浏览: 156
要使用clang-11来支持Function Call Graph,你需要添加以下编译选项:
1. -emit-llvm: 将代码生成为LLVM IR格式,这是分析和优化代码所必需的。
2. -fno-inline: 禁用函数内联,这样将生成更为准确的函数调用图。
3. -fno-eliminate-unused-debug-types: 防止编译器删除无用的调试信息,这对于生成完整的函数调用图是必要的。
4. -g: 生成调试信息,这是Function Call Graph分析器所必需的。
5. -Xclang -load -Xclang /path/to/libLLVMCallGraph.so: 加载LLVMCallGraph插件,它可以生成函数调用图。
请注意,这些选项可能会对编译时间和生成的代码质量产生一定影响。
相关问题
clang-11: error: unsupported option '-mrecord-mcount' for target 'aarch64-unknown-linux-gnu'
这个错误一般是由于使用了不支持 `-mrecord-mcount` 选项的 Clang 版本或者目标平台不支持该选项导致的。
`-mrecord-mcount` 选项是为了支持函数调用图 (Function Call Graph) 的分析而存在的。如果你的目标平台或者 Clang 版本不支持该选项,你可以尝试使用其他的选项来代替。
如果你使用的 Clang 版本过旧,可以尝试升级到支持 `-mrecord-mcount` 的版本。如果你的目标平台不支持该选项,你可以尝试在编译时禁用该选项,或者将其替换为平台支持的选项。
具体地,你可以尝试在编译时加上 `-fno-omit-frame-pointer` 选项来替换 `-mrecord-mcount` 选项,或者使用其他的选项来进行函数调用图的分析。
阅读全文