内嵌汇编问题
int main(void){
unsigned int ebp;
asm volatile (".intel_syntax noprefix");
asm volatile
(
"mov %0, ebp"
: "=m"(ebp)
);
printf("EBP = 0x%08x\n", ebp);
return 0;
}
虚拟机ubuntu里面的gcc编译竟然报一堆 Assembler错误,说是非法指令之类的。。。 同学,既然你指定要intel syntax,那么gcc命令,请加上 -masm=intel。 否则的话,C代码编译成att的,inline assembly则是intel的,你让as怎么破? 特意进来顶一下A版。 回复 2# 帅绝人寰
所言极是啊。。。
页:
[1]