我在内联汇编中调用C ++函数时遇到问题。我需要在堆栈上推送所需的参数,但是出了点问题。例如,如果我按3
,那么一切正常,但如果我尝试推送变量(来自函数)或[ebp+8]
(同样的事情)的值,则会错误地将其作为{ {1}}被调用的函数,无论实际值如何。
1
答案 0 :(得分:0)
您是否尝试在调试器下单步执行代码,以便可视化并了解其执行情况?从长远来看,你可能会发现它非常有用。
更具体地说,您的_tmain
函数将值3
传递给asmfunc
按值,而不是按引用传递。换句话说,调用函数将看不到asmfunc
对其整数的本地“副本”所做的任何更新。
您可以考虑让asmfunc
尝试返回更新后的值,然后在_tmain
中显示该值。