#pragma align integer (variable[, variable])
对齐 pragma 会使用所有提及的变量内存与整数字节对齐,从而覆盖缺省值。请遵循以下限制:
integer 值必须是介于 1 和 128 之间的 2 的幂。有效值包括 1、2、4、8、16、32、64 和 128。
variable 是一个全局或静态变量。
如果指定的对齐比缺省值小,就使用缺省值。
pragma 行必须在它提到的变量的声明前面出现。否则,它将被忽略。
提到但未在 pragma 行后面的文本中声明的任何变量将被忽略。例如:
#pragma align 64 (aninteger, astring, astruct)
int aninteger;
static char astring[256];
struct astruct{int a; char *b;};