pascal符合C-ABI标准的record

pascal符合C-ABI标准的record,用作数据模型,可跨语言。

  //符合C-ABI标准的数据模型,用于二进制跨平台
  TUser = packed record
    f1: array[0..49] of AnsiChar;
    f2: Double;
    datetime: array[0..18] of AnsiChar;
    date: array[0..9] of AnsiChar;
    time: array[0..7] of AnsiChar;
  end;

  1)packed record,内存非4字节对齐,而使用紧凑模式;

2)字符串定义:array[0..49] of AnsiChar;不能使用string,且必须是定长数组(依据相应数据表中字段的长度);

3)不能使用TDateTime,而使用 datetime: array[0..18] of AnsiChar; 

4)不能使用TDate,而使用 date: array[0..9] of AnsiChar;

5)不能使用TTime,而使用 array[0..7] of AnsiChar;

 6)布尔型,用AnsiChar;  t=true, f=false,postgresql就是这么搞的;

7)其它简单类型,可使用与C语言匹配的pascal类型,如:integer\word\byte\cardinal......

posted @ 2026-10-07 10:26  delphi中间件  阅读(15)  评论(0)    收藏  举报