Masm32 で簡単な「Hello world」アプリケーションを組み立てようとしています。うまく組み立てられますが、リンクしようとすると、リンカーは次のように言います
リンク: エラー LNK2001: 未解決の外部シンボル _WinMainCRTStartup prog1.exe: 致命的なエラー LNK1120: 1 つの未解決の外部シンボル
これは、プログラムのソース コードです。
.586P
.MODEL FLAT, STDCALL
STD_OUTPUT_HANDLE equ -11
; Prototypes of external procedures
EXTERN GetStdHandle@4:NEAR
EXTERN WriteConsoleA@20:NEAR
EXTERN ExitProcess@4:NEAR
; INCLUDELIB directives for the linker
includelib c:\masm32\lib\user32.lib
includelib c:\masm32\lib\kernel32.lib
;============ data segment =================
_DATA SEGMENT
HANDL DWORD ?
BUFER DB "Hello world\n", 0
NUMB DWORD ?
NUMW DWORD ?
_DATA ENDS
_TEXT SEGMENT
MAIN:
;====== Get the output handle ======
PUSH STD_OUTPUT_HANDLE
CALL GetStdHandle@4
MOV HANDL, EAX
; Output the buffer contents to the console
PUSH 0
PUSH OFFSET NUMW
PUSH NUMB
PUSH OFFSET BUFER
PUSH HANDL
CALL WriteConsoleA@20
;Exit application
PUSH 0
CALL ExitProcess@4
_TEXT ENDS
END
いくつかのフォーラムで、これはエンコード タイプが原因であることがわかりました。しかし、それは私の問題には関係ないようです