请问:DWORD和dd是一回事吗?“SW_SHOWDEFAULT equ 10”可以说SW_SHOWDEFAULT是DWORD吗?

imur2008 2008-11-20 08:47:45
WinMain PROTO :DWORD,:DWORD,:DWORD,:DWORD
......
......

.data
szDisplayName db "Enumerate Windows",0
CommandLine dd 0
hWnd dd 0
hInstance dd 0
hList dd 0
hStat1 dd 0
hStat2 dd 0
lpfnListProc dd 0

.code

start:
invoke GetModuleHandle, NULL
mov hInstance, eax

invoke GetCommandLine
mov CommandLine, eax

invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT
WinMain函数是是个DWORD参数,但是hInstance定义成dd的数据,而WINDOWS.INC有SW_SHOWDEFAULT的定义:SW_SHOWDEFAULT equ 10
请问:DWORD和dd是一回事吗?“SW_SHOWDEFAULT equ 10”可以说SW_SHOWDEFAULT是DWORD吗?
...全文
399 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnzdgs 2008-11-21
  • 打赏
  • 举报
回复
DWORD和dd都是定义32位(4字节)变量。
SW_SHOWDEFAULT equ 10是定义符号SW_SHOWDEFAULT代表10,10只是常数,是没有类型的。
perisun 2008-11-21
  • 打赏
  • 举报
回复
1),DW:以字为单位;DD:以双字为单位.
2),“SW_SHOWDEFAULT equ 10”可以说SW_SHOWDEFAULT是DWORD吗?
不能这样理解.用EQU或是=定义的符号常量是不被汇编程序分配存储单元的,汇编程序在遇到这个符号时就用它定义的常量替代它,它没有地址属性。
imur2008 2008-11-21
  • 打赏
  • 举报
回复
明白了,谢谢大虾
请问大虾能不能指导我搞一个集成的汇编管理软件,我想通过项目来学汇编
现在还不会使用
我以前搞过vb的管理软件
killbug2004 2008-11-21
  • 打赏
  • 举报
回复 1
byte/BYTE=====db/DB 1字节
word/WORD=====dw/DW 2字节
dword/DWORD===dd/DD 4字节
上面一行是等价的,比如dd就是DWORD,dd是简化表示,都是一个意思
imur2008 2008-11-21
  • 打赏
  • 举报
回复
invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT 有2个参数(hInstance,CommandLine)都是dd型的,类型不符合,为什么可以?
killbug2004 2008-11-21
  • 打赏
  • 举报
回复
byte---db 1字节
word---dw 2字节
dword--dd 4字节

SW_SHOWDEFAULT是一个常量,你可以将其赋给一个word也可以是dword,完全看你需要什么
imur2008 2008-11-21
  • 打赏
  • 举报
回复
dword是字,dd是双字,那就是说类型不匹配了
那WinMain PROTO :DWORD,:DWORD,:DWORD,:DWORD 定义的时候是dword,但是调用的时候
invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT 有2个参数(hInstance,CommandLine)都是dd型的,类型不符合,为什么可以?

请教请教,谢谢先

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧