我有这个函数,它主要由内联汇编组成。
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”上。如果你能帮助我,那就太好了。谢谢,iDomo。