为何使用Apple LLVM objdump的--source选项无法混排C源码与汇编?
C源码与ARM汇编混排输出问题的解决方法
- 核心原因:默认编译命令未生成调试信息,导致objdump无法关联C源码与汇编代码。
- 修正编译步骤:
- 添加
-g参数生成调试信息,编译命令改为:cc -g FILE.c -o FILE - 重新执行原反汇编命令:
objdump --disassemble --demangle --source --no-addresses FILE > FILE.asm
- 添加
- 补充优化建议:如果代码优化导致源码与汇编的对应关系模糊,可添加
-O0参数禁用优化,编译命令调整为:cc -g -O0 FILE.c -o FILE
内容的提问来源于stack exchange,提问作者PRouleau
相关产品推荐
相关产品推荐

