- 论坛徽章:
- 0
|
那就从汇编的角度看看吧:
GetAtomic proc near
var_4= dword ptr -4
arg_0= dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
mov edx, [ebp+arg_0]
mov [ebp+var_4], 33h
mov eax, [ebp+var_4]
mov [edx], eax
mov eax, edx
leave
retn 4
GetAtomic endp
|
public main
main proc near
var_24= dword ptr -24h
arg_0= byte ptr 4
lea ecx, [esp+arg_0]
and esp, 0FFFFFFF0h
push dword ptr [ecx-4]
push ebp
mov ebp, esp
push ecx
sub esp, 18h
lea eax, [ebp-18h]
mov [esp+24h+var_24], eax
call GetAtomic
sub esp, 4
mov eax, [ebp-18h]
mov [ebp-8], eax
mov eax, [ebp-8]
test eax, eax
setnle al
movzx eax, al
mov ecx, [ebp-4]
leave
lea esp, [ecx-4]
retn
main endp
|
gcc 4.1.1 编译 O2优化 , 请"OneWaterloo"看看VC++是不是这样的, 我没有VC. |
|