【发布时间】:2015-05-26 21:54:15
【问题描述】:
我正在尝试获取带有函数调用的简单 C 程序的原始指令代码输出。
我已经在这里和谷歌上搜索过答案,但只能找到对单个函数正确的答案(没有函数调用)。
一个简单的例子:
int main(){
return addition(5, 7);
}
int addition(int a, int b){
return a + b;
}
当我在此使用gcc -c test.c -o test.o 然后objdump -d test.o 时,JAL(跳转和链接)指令显示跳转到地址0x00000000,这显然是不正确的,但是当我完全编译程序时,我得到objdump 命令中有大量垃圾
我正在使用 mips 编译器(以及相关的 mips-objdump 等)进行编译。
我正在编译的程序是自包含的(没有外部库或系统包含文件)。我想要的是指令转储,其中JAL 和等效指令指向它们调用的函数的正确地址。
【问题讨论】: