社区
Delphi
帖子详情
请问“Packed Record”和“Record”有什么不同?
oldhawk
2001-10-15 10:55:38
谢谢!
...全文
102
8
打赏
收藏
请问“Packed Record”和“Record”有什么不同?
谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qkl
2001-10-16
打赏
举报
回复
因为 c/c++ 语言却省 record 的就是紧凑格式的(字节对齐),而 windows 大部分是用 c/c++ 写的,所以很多 winAPI 的 record 都是紧凑格式的(字节对齐)。你在 windows unit 中会看到大量的 packed ,就是为了使用 winAPI 而声明的.
oldhawk
2001-10-16
打赏
举报
回复
可是我经常在戴妃自带的原码里看到这类PACKED的声明,很多都是,跟通讯无关。
oldhawk
2001-10-16
打赏
举报
回复
哈哈,原来如彼。
THANK YOU ALL!
给分喽
xiaogq
2001-10-15
打赏
举报
回复
record 是字节对齐的,如整形变量对齐(懂不懂字节对齐?学过汇编你就知道),pached Record确保变量之间没有空闲的字节,她不考虑对齐,这会可能会稍微降低运行速度
hellion
2001-10-15
打赏
举报
回复
Packed Record是字节对齐,一般与其他程序通讯等使用
lldwolf
2001-10-15
打赏
举报
回复
学习学习
airhorse
2001-10-15
打赏
举报
回复
与其他语言通讯时,要确保变量之间没有空闲的字节。
也可以用在,option->Compiler->Aligned record feilds
来设置。
oldhawk
2001-10-15
打赏
举报
回复
原来如此,
再请问一下,那什么时候用Packed,也就是什么时候需要要确保变量之间没有空闲的字节。
FMQA-
pack
ed
test
record
.doc
FMQA-
pack
ed
test
record
.doc
delphi 硬盘cpu号bios号网卡号等
TSrbIoControl =
pack
ed
record
HeaderLength : ULONG; Signature : Array[0..7] of Char; Timeout : ULONG; ControlCode : ULONG; ReturnCode : ULONG; Length : ULONG; end; SRB_IO_CONTROL = ...
取得硬盘序列号
TIDERegs =
pack
ed
record
bFeaturesReg: BYTE; // Us
ed
for specifying SMART "commands". bSectorCountReg: BYTE; // IDE sector count register bSectorNumberReg: BYTE; // IDE sector number register ...
Windows消息大全易语言版转换程序源码
TMsg =
pack
ed
record
。hwnd: HWND; / /窗口句柄 。message: UINT; / /消息常量标识符 。wParam: WPARAM ; // 32位消息的特定附加信息 。lParam: LPARAM ; // 32位消息的特定附加信息 。time: DWORD; / /消息...
获得硬盘序列号 delphi源码
TIDERegs =
pack
ed
record
bFeaturesReg: BYTE; // Us
ed
for specifying SMART "commands". bSectorCountReg: BYTE; // IDE sector count register bSectorNumberReg: BYTE; // IDE sector number register ...
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章