You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求可通过Visual C++2019编译的Win32汇编printf版Hello World程序

使用printf的32位Win32汇编Hello World程序(兼容VC++2019)

以下是符合要求的汇编代码,采用MASM语法,可通过Visual Studio 2019的32位编译环境编译运行:

.386
.model flat, stdcall
option casemap :none

; 导入C标准库的printf函数(cdecl调用约定)
extrn printf:cdecl
; 导入Windows API的ExitProcess函数(stdcall调用约定)
extrn ExitProcess:proc

.data
    ; 输出字符串,0Ah为换行符,0为C风格字符串结束符
    szHello db 'Hello, World!', 0Ah, 0

.code
start:
    ; 传递printf的参数:字符串地址(cdecl约定参数从右往左入栈)
    push offset szHello
    call printf
    ; cdecl约定由调用者清理栈,这里入栈了4字节参数,所以加4
    add esp, 4

    ; 调用ExitProcess退出程序,返回值0
    push 0
    call ExitProcess
end start

编译步骤(Visual Studio 2019 x86环境)

  • 创建空Win32项目,确保平台选择为x86(32位)。
  • 添加后缀为.asm的文件到项目中,粘贴上述代码。
  • 配置项目属性:
    1. 右键项目 → 属性 → 配置属性 → 常规:确认平台工具集为v142 (Visual Studio 2019)。
    2. 右键项目 → 生成依赖项 → 生成自定义:勾选masm(.targets,.props),启用MASM汇编支持。
    3. 链接器 → 输入 → 附加依赖项:添加msvcrt.lib;kernel32.lib(分别提供printf和ExitProcess的实现)。
  • 点击生成并运行,控制台将输出Hello, World!。

内容的提问来源于stack exchange,提问作者Darox99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 09:27:35