|
原帖由 wangzhonnew 于 2009-1-25 03:20 发表 ![]()
(taoewang@panipuri) /home/taoewang/test $ more test.c
#include
int main()
{
int i=5;
i=i++ + --i;
printf("%d\n", i);
return 0;
}
(taoewang@panipuri) /home/taoewang/test $ xlc test.c
(taoewang@panipuri) /home/taoewang/test $ ./a.out
10
still IBM xlc v9.0
.main: # 0x00000000 (H.10.NO_SYMBOL)
mfspr r0,LR
st r31,-4(SP)
st r0,8(SP)
stu SP,-80(SP)
l r31,T.18.__STATIC(RTOC)
cal r4,5(r0)
st r4,64(SP)
cal r3,-1(r4)
st r4,68(SP)
st r3,64(SP)
l r4,68(SP)
cax r3,r3,r4
st r3,64(SP)
cal r4,1(r3)
st r4,64(SP)
oril r3,r31,0x0000
bl .printf{PR}
oril r0,r0,0x0000
cal r3,0(r0)
l r0,88(SP)
mtspr LR,r0
cal SP,80(SP)
l r31,-4(SP)
bcr BO_ALWAYS,CR0_LT
.long 0x00000000
so it's
itemp=i-1
i=i+itemp
i=i+1
版主是精通java呀! |
|