私はこの関数を持っています。これは主にインライン asm で構成されています。
long *toarrayl(int members, ...){
__asm{
push esp
mov eax, members
imul eax, 4
push eax
call malloc
mov edx, eax
mov edi, eax
xor ecx, ecx
xor esi, esi
loopx:
cmp ecx, members
je done
mov esi, 4
imul esi, ecx
add esi, ebp
mov eax, [esi+0xC]
mov [edi], eax
inc ecx
add edi, 4
jmp loopx
done:
mov eax, edx
pop esp
ret
}
}
実行すると、リターン命令でアクセス違反が発生します。
私は VC++ 6 を使用していますが、上記の行を指すことを意味する場合があるため、'pop esp' で可能です。あなたが私を助けることができれば、それは素晴らしいことです. ありがとう、アイドモ。