+ -
当前位置:首页 → 问答吧 → vc中嵌汇编的问题.

vc中嵌汇编的问题.

时间:2011-10-18

来源:互联网

最近在研究vc中嵌汇编, 下面这个程序老是有问题, 不知道为什么, 还请大家多多指教, 不胜感激.

我新建了一个mfc对话框程序, 没有选择unicode编码, 在initialdialog的renturn前面加入下面的代码, 但是有问题.

char sz1[128] = "hello";
char sz2[128] = "world";
_asm
{
push 100
push m_hWnd
call GetDlgItem //这里编译不通过

push MB_OK
lea eax, sz1
push eax
lea eax, sz2
push eax
push m_hWnd
call MessageBox //这里进去就崩溃
}

作者: shuirh   发布时间: 2011-10-18

call _GetDlgItem

作者: Areslee   发布时间: 2011-10-18

MFC的场合,且楼主直接用了m_hWnd,说明是在对话框类里,此时GetDlgItem和MessageBox都是对话框重载的函数,而不是user32.dll里默认的函数,因此两个call都错了,
建议楼主试试call ::GetDlgItem和call ::MessageBox

作者: 0153   发布时间: 2011-10-18