鱼C论坛

 找回密码
 立即注册
查看: 2858|回复: 6

W32里的NULL是什么意思

[复制链接]
发表于 2011-12-7 02:45:27 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
invoke Messagebox,NULL 其中 NULL 是不是四个push 一个call的集合?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-7 10:25:05 | 显示全部楼层
要好好看书,书上有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-7 12:45:26 From FishC Mobile | 显示全部楼层
幕府幽魂 发表于 2011-12-7 10:25 要好好看书,书上有

书上没有......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-7 17:31:45 | 显示全部楼层
NULL  的值   好像就是0吧    你用0试试   一样可以的  
另外  在debug.inc里面提供了一个宏   
CTEXT   也就是说  你的MessageBox可以写成如下形式
invoke MessageBox,NULL,CTEXT("Helllo world"),CTEXT("Caption"),MB_OK
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-7 17:36:59 | 显示全部楼层
另外  如果你用的是RadASM的话   是不能直接使用这些测试宏的
MASM32SDK   我没有用过   但是RadASM是基于MASM32的
所以在使用的Debug.inc下的宏时候  请注意一个小小的问题

比如你的工程文件在E:\Project
那么你需要把MASM放到E盘的根目录下
不然会出现Cannot open kernel32.inc的错误   嗯  大概就是这样了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-8 00:30:37 From FishC Mobile | 显示全部楼层
bingghost 发表于 2011-12-7 17:36 另外  如果你用的是RadASM的话   是不能直接使用这些测试宏的 MASM32SDK   我没有用过   但是Rad ...

谢谢老师,虽然没听懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-9 12:43:23 | 显示全部楼层
ShowText MACRO text        
    local lbl
    .const
        lbl db text,0
    .code
    exitm   <offset lbl>
ENDM
实质上  这样你就可以使用了这样用了
  .386
 .model flat,stdcall
 option casemap:none
 
include windows.inc
include kernel32.inc
include user32.inc
includelib user32.lib
includelib kernel32.lib
ShowText MACRO text        
    local lbl
    .const
        lbl db text,0
    .code
    exitm   <offset lbl>
ENDM
.code
start:
 invoke MessageBox,NULL,ShowText("哈哈-这就是宏汇编的强大之处"),ShowText("这里是标题"),MB_OK
 invoke ExitProcess,NULL
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 12:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表