我想知道如何将 C struct转换为Delphi记录 ?
以下代码在C中。我想转换为Delphi。
typedef struct
{
Uint16 value1[32];
Uint16 value2[22];
Uint16 value3[8];
}MY_STRUCT_1;
提前致谢。
答案 0 :(得分:12)
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;
答案 1 :(得分:3)
您可能需要使用压缩关键字。默认情况下,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;