我是新来的,所以请耐心等待! ;)
我正在尝试在汇编程序上返回一个字符串。我在堆栈上有字符串,正确终止。
然后我movl %esp
到%eax
并返回该功能。
我的想法是从c函数调用它并使用这样的汇编程序函数:
extern char* getthestring (void);
int main ()
{
char *m;
m=getthestring();
printf ("The string is %s", *m);
free (m);
return 0;
}
我遇到了分段错误错误,我无法调试它,因为gdb给了我这个:
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00000001 in ?? ()
有人可以帮我吗?
答案 0 :(得分:0)
正如@jester指出的那样,我正在尝试返回局部变量,这是一个禁忌。