typedef struct 
{
long EPAddrToKill;
long ExitStatus;
long PID;
long BYKILLBYPEP;
long sysmajorVer;
long sysminorVer;
long sysSPVer;
}KPXXX_IN,*PKPXXX_IN;跪求翻译成Delphi的,对C不懂,Long类型翻译是DWORD还是LongInt?

解决方案 »

  1.   

    type
      Trec=record
       EPAddrToKill, 
       ExitStatus,
       PID,
       BYKILLBYPEP,
       sysmajorVer, 
       sysminorVer, 
       sysSPVer:integer;
      end;
      TpRec=^Trec;
    var
      KPXXX_IN:Trec;
      PKPXXX_IN:TpRec;c的long一般就是32位整数,delphi2以后都是integer了
      

  2.   

    1. typedef是定义类型,不是变量声明
    2. 标准规定sizeof(long)>=sizeof(int),对多少位没做具体规定。在win32平台上long一般是32位的,但在64位上一般就是64位的了
      

  3.   

    type
      KPXXX_IN = record
        EPAddrToKill: longint; 
        ExitStatus: longint;
        PID: longint; 
        BYKILLBYPEP: longint; 
        sysmajorVer: longint; 
        sysminorVer: longint; 
        sysSPVer: longint; 
      end;
      PKPXXX_IN = ^KPXXX_IN; 
      

  4.   

    C里面long对应delphi里面longint了
      

  5.   

    两个语言都用sizeof试试,长度同样大,就ok
    c++:
    cout << sizeof(long) ;
    cout  << sizeof(KPXXX_IN);delphi:
        System.Writeln(sizeof(longint));
      System.Writeln(sizeof(yourDelphiRecordType));
      

  6.   

    long 对应dlphi里的integer,也许二楼说的要在理些!