typedef struct
{
DWORD dwStartCode; // For one valid AvFrm, this always be AVFRM_START_CODE DWORD FrmType :2; // enVidFrmType
DWORD VidLen :18; // Video data length, max 256k
DWORD AudLen :12; // Audio data length, max 4k DWORD dwFrmNum; // Frame Number : 1 ~ TRecFileHead::dwTotalFrmCnt
BYTE Reserved[4];
}TFrmHead; // Total 16 bytes
在C++中可定义位段 DWORD FrmType :2; // enVidFrmType
DWORD VidLen :18; // Video data length, max 256k
DWORD AudLen :12; // Audio data length, max 4k那么这样的定义在DELPHI中怎么实现?
{
DWORD dwStartCode; // For one valid AvFrm, this always be AVFRM_START_CODE DWORD FrmType :2; // enVidFrmType
DWORD VidLen :18; // Video data length, max 256k
DWORD AudLen :12; // Audio data length, max 4k DWORD dwFrmNum; // Frame Number : 1 ~ TRecFileHead::dwTotalFrmCnt
BYTE Reserved[4];
}TFrmHead; // Total 16 bytes
在C++中可定义位段 DWORD FrmType :2; // enVidFrmType
DWORD VidLen :18; // Video data length, max 256k
DWORD AudLen :12; // Audio data length, max 4k那么这样的定义在DELPHI中怎么实现?
我的想法是,
DWORD FrmType :2; // enVidFrmType
DWORD VidLen :18; // Video data length, max 256k
DWORD AudLen :12; // Audio data length, max 4k
在DELPHI中定义时
定义成
FrmType :integer; // enVidFrmType
VidLen :integer; // Video data length, max 256k
AudLen :integer; // Audio data length, max 4k
只要最大值大过C++中定义的最大值,就不影响值的传递,这样可以么?不过这样的话sizeof(TFrmHead)就和C++里定义的尺寸不一样了,不知道有没有影响