请问在gcc中嵌入汇编语句报错
请问大家,我在gcc中潜入汇编语句提示:undefined reference to `_asm__volatile_'
什么原因呢?
谢谢大家~~
#include <stdio.h>
/**
* Assign variable a to b, using eax register
* */
int main()
{
int a = 10, b = 0;
_asm__volatile_("movl %1, %%eax;\n\t"
"movl %%eax, %0;");
// :"=r"(b)
// :"r"(a)
// :"eax");
printf("a = %d, b = %dn", a, b);
return 0;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
哦,有关ARM的是吧
回复 7# aaaaa5aa
这是两个关键字
{:3_191:}
_asm_ _volatile_
中间空格什么意思
_asm_ _volatile_
中间要有空格
本帖最后由 mailwxg 于 2010-04-27 10:43 编辑
谢谢你了,我终于改对了 :
#include <stdio.h>
/**
* Assign variable a to b, using eax register
* */
int main()
{
int a = 10, b = 0;
__asm __volatile("movl %1, %%eax;"
"movl %%eax, %0"
:"=r"(b)
:"r"(a)
:"eax" );
printf("a = %d, b = %dn", a, b);
return 0;
}
// a = 10, b = 10
_asm_ _volatile_
中间要有空格
{:3_195:}
抄书抄错了。
_asm_ _volatile_