繁体   English   中英

将C结构迁移到Delphi记录

[英]Migrate C struct to Delphi record

我想知道如何将C struct转换为Delphi记录

以下代码在C中。我想转换为Delphi。

typedef struct
  {
  Uint16        value1[32];
  Uint16        value2[22];
  Uint16        value3[8];    
  }MY_STRUCT_1;

提前致谢。

Uint16等同于Word类型, []表示数组。

MY_STRUCT_1 = record
  value1 : Array [0..31] of Word;
  value2 : Array [0..21] of Word;
  value3 : Array [0..7] of Word;
end;

您可能需要使用packed关键字。 默认情况下,Delphi将基于(我相信)对齐变量,无论您是在16位,32位还是64位平台上进行开发,以及您的记录中包含哪些数据类型。 使用packed会改变保存记录所需的内存长度/大小。 C将默认打包结构。

MY_STRUCT_1 = packed record
  value1 : Array [0..31] of Word;
  value2 : Array [0..21] of Word;
  value3 : Array [0..7] of Word;
end;

另见: http//www.delphibasics.co.uk/RTL.asp?Name = Packed

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM