nasm的win32编程小心得

本文记录了使用nasm进行Win32编程的过程,包括遇到的错误及解决方法。作者在尝试导入 MessageBoxA 函数时遇到了困难,最终通过调整链接器和函数调用方式成功运行程序。主要内容涉及 NASM 汇编语言,Win32 API,以及链接器 lcclnk 的使用。
摘要由CSDN通过智能技术生成

终于成功了。下面是我的探索过程,以及一些其他的遗留问题。
首先给出我的第一个小程序:

;assemble with
;NASM -fwin32 hello.asm
;link with
;lcclnk -s -subsystem windows hello.obj

%include "include/win32n.inc"

extern _MessageBoxA@16
;Import _MessageBoxA@16 user32.dll


global _WinMain@16


SEGMENT .text USE32 class=code
_WinMain@16:

push dword 0 ; OK button
push dword title1
push dword string1
push dword 0
call _MessageBoxA@16

ret

segment .data use32

string1: db 'hello world',13,'Success!!!',13,10,0
title1: db 'Hello',0 

;其实上面这个头文件没有用到
import这里,发现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值