汇编代码:
_CODE SEGMENT
PUBLIC my_add_asm_call
my_add_asm_call PROC
mov eax, 2 // the exception happens here.
mov ecx, 3
add eax, ecx
ret
my_add_asm_call ENDP
_CODE ENDS
END
C++ 代码:
extern "C" int my_add_asm_call();
int main()
{
std::cout << my_add_asm_call();
}
我一点也不知道为什么会这样,因为使用 x86_64 "rax" 和 "rcx" 并不能解决它。正如您可能猜到的那样,我并不真正了解汇编,但我想至少学一点。