解决方案 »

  1.   

    自己不能模拟MAKELONG写个MAKEINT64?
      

  2.   

    可以用union union CONVERT{
    __int64 x;
    BYTE b[8];
    };CONVERT y;
    y.b[0] = 0x12;
    y.b[1] = 0x34;
    y.b[2] = 0x56;
    y.b[3] = 0x78;
    y.b[4] = 0xab;
    y.b[5] = 0xcd;
    y.b[6] = 0xef;
    y.b[7] = 0x12;
      

  3.   

    你自己实现一个类似的
    比如MAKELONGLONG
    #define MAKELONGLONG(a, b) ((unsigned __int64)(((DWORD)(a)) | ((unsigned __int64)((DWORD)(b))) << 32)) 
      

  4.   

    UINT64 LongFromChar(const UINT8 *pInput)
    {
        UINT64 Templong;
        Templong = ( *(pInput) );
        Templong = ( Templong<<8 ) + ( *(pInput+1) );
        Templong = ( Templong<<8 ) + ( *(pInput+2) );
        Templong = ( Templong<<8 ) + ( *(pInput+3) );
    Templong = ( Templong<<8 ) + ( *(pInput+4) );
        Templong = ( Templong<<8 ) + ( *(pInput+5) );
        Templong = ( Templong<<8 ) + ( *(pInput+6) );
    Templong = ( Templong<<8 ) + ( *(pInput+7) );
        return Templong;
    }