标签: c gcc x86 x86-64 inline-assembly
在此代码中:
int a[2]={5,2},i=0; asm volatile ( "incl %1\n" "incl %0" :"+r"(a[i]),"+r"(i) : : ); printf("%d\n",a[i]);
我试图按a[1]增加1(结果为2 + 1 = 3),但输出显示2,这意味着它没有改变。问题是什么?我该如何解决?
a[1]
1
3
2