我正在将C程序编译为elf32-bigmips汇编代码,并且我已设法使用以下命令获取汇编输出(对于使用O1的示例程序)。
mips-elf-gcc -O1 -c -g fib.c
mips-elf-objdump -D -S -M no-aliases -j .rodata -j .text -j .bss -j .data fib.o> FIB-O1.asm
然而,这给了我缺少链接部分的汇编代码。我在代码中使用带有数据的常量数组,这些数组都是汇编代码中的引用,好像它们是从内存位置0开始,即没有内存地址偏移!我怀疑这是因为缺少链接器信息?
由于
答案 0 :(得分:3)
-c
选项表示Compile and assemble, but do not link
。如果您还想将目标代码链接到可执行文件中,请将其删除,然后运行objdump
。