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

📄 struct-align-1.h

📁 linux下编程用 编译软件
💻 H
字号:
/* Define several variants of a struct for which the alignment differs   between powerpc64-linux and powerpc64-aix.  This might be interesting   for other targets as well.  */#define DESC_orig "original"struct B1_orig {  char c;  double d;};struct A2_orig {  double d;};struct B2_orig {  char c;  struct A2_orig a2;};struct A3_orig {  double d;  int i;};struct B3_orig {  char c;  struct A3_orig a3;};#ifndef SKIP_ATTRIBUTE#define DESC_p_all "packed attribute for all"struct B1_p_all {  char c;  double d;} __attribute__ ((packed));struct A2_p_all {  double d;} __attribute__ ((packed));struct B2_p_all {  char c;  struct A2_p_all a2;} __attribute__ ((packed));struct A3_p_all {  double d;  int i;} __attribute__ ((packed));struct B3_p_all {  char c;  struct A3_p_all a3;} __attribute__ ((packed));#define DESC_p_inner "packed attribute for inner"struct B1_p_inner {  char c;  double d;};struct A2_p_inner {  double d;} __attribute__ ((packed));struct B2_p_inner {  char c;  struct A2_p_inner a2;};struct A3_p_inner {  double d;  int i;} __attribute__ ((packed));struct B3_p_inner {  char c;  struct A3_p_inner a3;};#define DESC_p_outer "packed attribute for outer"struct B1_p_outer {  char c;  double d;} __attribute__ ((packed));struct A2_p_outer {  double d;};struct B2_p_outer {  char c;  struct A2_p_outer a2;} __attribute__ ((packed));struct A3_p_outer {  double d;  int i;};struct B3_p_outer {  char c;  struct A3_p_outer a3;} __attribute__ ((packed));#define DESC_a_max "maximum useful struct alignment for all"struct B1_a_max {  char c;  double d;} __attribute__ ((aligned));struct A2_a_max {  double d;} __attribute__ ((aligned));struct B2_a_max {  char c;  struct A2_a_max a2;} __attribute__ ((aligned));struct A3_a_max {  double d;  int i;} __attribute__ ((aligned));struct B3_a_max {  char c;  struct A3_a_max a3;} __attribute__ ((aligned));#define DESC_m_outer_p_inner "maximum alignment for outer, packed inner"struct B1_m_outer_p_inner {  char c;  double d;} __attribute__ ((aligned)) __attribute__ ((packed));struct A2_m_outer_p_inner {  double d;} __attribute__ ((packed));struct B2_m_outer_p_inner {  char c;  struct A2_m_outer_p_inner a2;} __attribute__ ((aligned));struct A3_m_outer_p_inner {  double d;  int i;} __attribute__ ((packed));struct B3_m_outer_p_inner {  char c;  struct A3_m_outer_p_inner a3;} __attribute__ ((aligned));#define DESC_m_inner_p_outer "maximum alignment for inner, packed outer"struct B1_m_inner_p_outer {  char c;  double d;} __attribute__ ((aligned)) __attribute__ ((packed));struct A2_m_inner_p_outer {  double d;} __attribute__ ((aligned));struct B2_m_inner_p_outer {  char c;  struct A2_m_inner_p_outer a2;} __attribute__ ((packed));struct A3_m_inner_p_outer {  double d;  int i;} __attribute__ ((aligned));struct B3_m_inner_p_outer {  char c;  struct A3_m_inner_p_outer a3;} __attribute__ ((packed));#endif

⌨️ 快捷键说明

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