我希望我在 GCC 下编译的 c++ 程序具有 4 个字节(结构成员)的最大对齐。我真的可以通过#pragma pack 指令来做到这一点。但是,在我的情况下这很不舒服,因为该项目非常大,我需要使用#pragma pack 制作一个标题,它必须包含在任何地方。现在,gcc 编译器有一个选项 -mstructure-size-boundary=n 记录在这里http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html#ARM-Options,它说“允许的值为8, 32 和 64。” 实际上,当我尝试将其设置为 4 字节时,编译器会抛出警告“结构大小边界只能设置为 8、32 或 64”(令人惊讶,嗯?)。但是为什么我可以通过#pragma 将其设置为 4?有谁知道如何通过编译器设置将 gcc 结构对齐设置为 8-32-64 以外的其他值?
问问题
6128 次