Oracle Solaris Studio 12.2:C++ 用户指南

B.2.1 #pragma align


#pragma align integer(variable [,variable...])

使用 align 使所列变量与 integer 字节内存对齐,并覆盖缺省设置。请遵循以下限制:


#pragma align 64 (aninteger, astring, astruct)
int aninteger;
static char astring[256];
struct S {int a; char *b;} astruct;

#pragma align 在名称空间内部使用时,必须使用损坏名称。例如,以下代码中的 #pragma align 语句就是无效的。要更正此问题,应将 #pragma align 语句中的 abc 替换为其损坏名称。


namespace foo {
    #pragma align 8 (a, b, c)
    static char a;
    static char b;
    static char c;
}