我编写了几个ASM程序,并使用Visual Studio命令提示符使用VS 2008/2010/2013对其进行了编译,如下所示
ml program.asm /link msvcrt.lib
代码
.586
.MODEL FLAT
.STACK 100h
EXTERN _printf :PROC
.DATA
arg BYTE "hello world", 0dh, 0ah, 0
.CODE
_main PROC
push OFFSET arg
call _printf
add esp, 4
xor eax, eax
ret
_main ENDP
END
截至2013年,我能够编译它,但对于VS 2015,它说没有找到_printf。在msvcrt.dll上执行dumpbin / exports,它说printf是一个导出(但找不到_printf)。我尝试将_printf更改为printf,但仍然没有运气。
有谁知道如何解决这个问题?