|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
大家好:
最近正在研究MIPS汇编,我想在c语言中调用MIPS汇编子程序,但是在交叉编译的时候出错了!
mipsel-linux-gcc -o test test.c
错误:collect2:ld returned 1 exit status
gcc -o test test.c
错误::undefined reference to 'addtest'
collect2:ld returned 1 exit status
请高手指教!!!!!
谢谢了!!!!!
以下为具体的代码:
//test.c
#include <stdio.h>
int addtest(int a,int b);
int main()
{
int a,b,c;
a=1;
b=2;
c=addtest(a,b);
printf("a+b=%d\n",c);
return 0;
}
//addt.asm,用MIPS汇编定义了在test.c中调用的addtest函数,这是我按照反汇编写的!mipsel-linux-gcc -S
.text
.global addtest
.ent addtest
addtest:
.frame $fp,24,$31
.mask 0x40000000,-8
.fmask 0x00000000,0
addiu $sp,$sp,-24
sw $fp,16($sp)
move $fp,$sp
sw $4,24($fp)
sw $5,28($fp)
lw $3,24($fp)
lw $2,28($fp)
addu $2,$3,$2
sw $2,8($fp)
lw $2,8($fp)
move $sp,$fp
lw $fp,16($sp)
addiu $sp,$sp,24
j $31
.end addtest
///////
以上我想做的就是在C语言中调用MIPS汇编子函数!!
但是我在编译的时候,不能生成可执行文件!!!
请你能帮我分析一下,这是为什么吗???
其实我对MIPS汇编在C语言中的声明和调用还是不会用!!!!!
望能给一些意见!谢谢了!!!! |
|