Я использую Visual Studio 2019 и компилирую эту программу сборки в 64 бита.Он компилирует и связывает без каких-либо предупреждений, но когда я вызываю функцию c printf
, я получаю Access violation writing location 0x0000000000000024
?
extern printf: PROC
includelib libcmt.lib
includelib libvcruntime.lib
includelib libucrt.lib
includelib legacy_stdio_definitions.lib
.data
msg db 'hello world', 0Ah, 00
.code
main proc
sub rsp, 40
lea rcx, msg
call printf
add rsp, 40
ret
main endp
End