CRT 関数を使用する次の単純なアセンブリ コードを実行しようとしていますprintf
。
.386
.model flat, c
Sleep proto stdcall arg1:DWORD
printf proto c printlist:vararg
.data
strformat db "%s", 0Ah, 0
string1 db "Starting..",0
string2 db "Wait 5 seconds..",0
string3 db "Finishing..",0
.code
main:
invoke printf, addr strformat, addr string1
invoke printf, addr strformat, addr string2
invoke Sleep, 5000
invoke printf, addr strformat, addr string3
ret
end main
以下を使用してコンパイルおよびリンク:
ml /c /coff temp.asm
link /subsystem:console temp.obj kernel32.lib libcmt.lib
しかし、実行しようとすると、次のエラーが発生します。
runtime error R6030 - CRT not initialized
とリンクすると正常にmsvcrt.lib
動作します。問題は CRT の静的バージョンにあります。どんな提案でも大歓迎です。ありがとう。