64位MASM最小GUI程序窗口尺寸异常问题求助
64位Windows最小GUI窗口尺寸异常问题解决
我为学习Windows及x86 CPU工作原理,用MASM的ml64.exe编译器搭配MASM64头文件写了一个64位Windows最小GUI程序,编译命令是:
ml64.exe helloworld64.exe /link /subsystem:windows /entry:WinMain
程序能正常运行,但窗口没有按预期初始化为800×600像素,而是显示成最小尺寸。因为我想做最小体积的程序,一开始不知道该怎么调试这个问题。
后来找到问题根源:调用CreateWindowExA时,参数入栈用了十进制的栈偏移量(比如mov dword ptr [rsp + 20], eax),把偏移量改成十六进制格式(mov dword ptr [rsp + 20h], eax)后,窗口尺寸就正常了。
内容的提问来源于stack exchange,提问作者Tijs Haeijen
相关产品推荐
相关产品推荐

