这是我照着例子 写的一段代码
- Assembly code
.386.model flat,stdcalloption casemap:noneWinMai proto:DWORD,:DWORD,:DWORD,:DWORDinclude \masm32\include\windows.incinclude \masm32\include\user32.incinclude \masm32\include\kernel32.incinclude \masm32\lib\user32.libinclude \masm32\lib\kernel32.lib.Data ClassName db "SimpleWinClass".0 AppName db "Our First Window".0.Data? hInstance HINSTANCE ? CommandLine LPSTR ?.Codestart: invoke GetModuleHandle,Null mov hInstance,eax invoke GetCommandLine mov Commandline,eax invoke WinMain,hInstance,Null,CommandLine,SW_SHOWDEFAULT invoke ExitProcess,eax WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD LOCAL wc:WNDCLASSEX LOCAL msg:MSG LOCAL hwnd:HWND mov wc.cbSize,SIZEOF WNDCLASSEXmov wc.style,CS_HREDRAW or CS_VERDRAWmov wc.lpfnWndProc,OFFSET WndProcmov wc.cbClsExtra,NULLmov wc.cbWndExtra,NULLpush hInstancepop wc.hInstancemov wc.hbrBackground,COLOR_WINDOW+1mov wc.lpszMenuName,NULLmov wc.lpszClassName,OFFSET ClassNameinvoke LoadCursor,NULL,IDC_ARROWmov wc.hCursor,eaxinvoke RegisterClassEx,addr wcinvoke CreateWindowEx,NULL,\ ADDR ClassName,\ ADDR AppName,\ WS_OVERLAPPEDWINDOW,\ CW_USEDEFAULT,\ CW_USEDEFAULT,\ CW_USEDEFAULT,\ CW_USEDEFAULT,\ NULL,\ NULL,\ hInst,\mov hwnd,eaxinvoke ShowWindow,hwnd,Cmdshowinvoke UpdateWindow,hwnd.WHILE TURE invoke GetMessage,ADDR msg,NULL,0,0 .BREAK.IF(!eax) invoke TranslateMessage,ADDR msg invoke DispatchMessage,ADDR msg.endwmov eax,msg.wParamretWinMain ednpWndProc proc hWnd:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM .IF uMsg==WM_DESTROY invoke PostQuitMessage,NULL .ELSE invoke DefWindowProc,hWnd,uMsg,wParam,lParam ret .endif xor eax,eax retWndProc endpend start
build的时候报了很多错误
\masm32\lib\user32.lib(29) : error A2044: invalid character in file
\masm32\lib\user32.lib(30) : error A2044: invalid character in file
\masm32\lib\user32.lib(31) : error A2044: invalid character in file
\masm32\lib\user32.lib(32) : error A2044: invalid character in file
\masm32\lib\user32.lib(33) : error A2044: invalid character in file
怎样才能使他想vc一样指出错误的地址啊
------解决方案--------------------------------------------------------
环境变量和路径没有设置不好,才会出现上述情况。
------解决方案--------------------------------------------------------
有许多语法存在错误。
------解决方案--------------------------------------------------------
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
WinMain proto :DWORD,:DWORD,:DWORD,:DWORD
.DATA
ClassName db "SimpleWinClass",0
AppName db "Our First Window",0
.DATA?
hInstance HINSTANCE ?
CommandLine LPSTR ?
.CODE
start:
invoke GetModuleHandle, NULL
mov hInstance,eax
invoke GetCommandLine
mov CommandLine,eax
invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT
invoke ExitProcess, eax
WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD
LOCAL wc:WNDCLASSEX
LOCAL msg:MSG
LOCAL hwnd:HWND
mov wc.cbSize,SIZEOF WNDCLASSEX
mov wc.style, CS_HREDRAW or CS_VREDRAW
mov wc.lpfnWndProc, OFFSET WndProc
mov wc.cbClsExtra,NULL