这个简单的MASM程序不断崩溃。
我正在使用Win32 API
CreateFile
功能无效,导致我的应用崩溃。
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
.data
filename byte "dummy.txt", 0
.code
main PROC
INVOKE CreateFile,
filename,
GENERIC_WRITE,
0,
NULL,
CREATE_NEW,
FILE_ATTRIBUTE_NORMAL,
NULL
invoke ExitProcess,NULL
main ENDP
END main
有人可以帮忙吗?
答案 0 :(得分:2)
CreateFile
的第一个参数是文件名的地址,而不是文件名的前几个字符。因此,您需要在ADDR
filename
之前放置invoke
运算符:
INVOKE CreateFile,
ADDR filename,
GENERIC_WRITE,
0,
NULL,
CREATE_NEW,
FILE_ATTRIBUTE_NORMAL,
NULL