小编Mik*_*e D的帖子

如何在Visual Studio 2017的x86程序集中使用printf?

MASM1.exe中0x777745BA(ntdll.dll)处未处理的异常:0xC0000005:访问冲突写入位置0x00000014。我在Visual Studios 2017中使用x86程序集,并且不断返回此错误

我已包含所有库并安装了Windows 10 SDK。对于为什么在第21行返回此错误,我感到很困惑。它甚至打开一个空白窗口,然后立即将其关闭并返回错误。

            .586
            .MODEL FLAT
            .STACK 4096
            includelib libcmt.lib
            includelib libvcruntime.lib
            includelib libucrt.lib
            includelib legacy_stdio_definitions.lib
            EXTERN  printf:PROC
            EXTERN  scanf:PROC

            .DATA
                format BYTE "Enter a number", 0

            .CODE

            main PROC
                sub esp, 4
                push offset format
                call printf
                add esp, 4
                ret
            main ENDP
            END
Run Code Online (Sandbox Code Playgroud)

我创建了一个VS 2017 C ++项目,生成一个Win32控制台程序。在项目属性/ Linker/ Advanced/ entry point选项我已经设置的入口点main

x86 assembly masm visual-studio

2
推荐指数
1
解决办法
159
查看次数

标签 统计

assembly ×1

masm ×1

visual-studio ×1

x86 ×1