1
我試圖從GCC-Inline-Assembly-HOWTO
GCC聯彙編
int main(void)
{
int foo = 10, bar=15;
_asm__volatile_("addl %%ebx,%%eax;\n"
:"=a"(foo)
:"a"(foo), "b"(bar));
printf("foo+bar+%d\n",foo);
return 0;
}
一個例子,上面的代碼給我此error
:。
我在哪裏出錯了?我正在致力於ubuntu 12.04
。
請注意:不要在這裏使用__volatile__。 'asm''output'寫入'foo',使用'foo'和'bar'編譯器不知道的方式。因此,「優化」'asm'語句並不是免費的。另外,'%ebx'可能不適用於IA32 ELF。 –