⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 packed6.c

📁 用于进行gcc测试
💻 C
字号:
// PR c++/15209// { dg-options "-w" }typedef unsigned int size_t;typedef unsigned char uint8_t;typedef unsigned short int uint16_t;typedef unsigned int uint32_t;__extension__ typedef unsigned long long int uint64_t;typedef uint8_t u8;typedef uint16_t u16;typedef uint32_t u32;typedef uint64_t u64;struct MAGIC {u8 magic[8];} __attribute__ ((packed));struct PACKETTYPE {u8 type[16];} __attribute__ ((packed));typedef u16 leu16;typedef u32 leu32;typedef u64 leu64;class MD5Hash{public:  MD5Hash(void) {};  void *print(void) const;  MD5Hash(const MD5Hash &other);  MD5Hash& operator=(const MD5Hash &other);public:  u8 hash[16];};struct PACKET_HEADER{  MAGIC magic;  leu64 length;  MD5Hash hash;  MD5Hash setid;  PACKETTYPE type;} __attribute__ ((packed));struct MAINPACKET{  PACKET_HEADER header;  leu64 blocksize;  leu32 recoverablefilecount;  MD5Hash fileid[0];} __attribute__ ((packed));struct CriticalPacket{  u8 *packetdata;  size_t packetlength;};class MainPacket : public CriticalPacket{  const MD5Hash& SetId(void) const;  u64 blocksize;  u32 totalfilecount;  u32 recoverablefilecount;};inline const MD5Hash& MainPacket::SetId(void) const{  return ((const MAINPACKET*)packetdata)->header.setid;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -