C++ 如何避免填充,使结构不使用额外的字节

C++ 如何避免填充,使结构不使用额外的字节,c++,c,gcc,C++,C,Gcc,我的一个数组占用14个字节,但在映射文件中显示为16个字节(即,下一个变量分配在16个字节的内存之后)。 我希望它不使用超过14个字节,即填充空间不应出现在映射文件中 我有什么相同的选择 可以使用任何编译器选项完成吗?您的平台可能有“打包”节选项。然后将具有此属性的部分与字节对齐,您可能希望在结构周围使用#pragma pack。有关一些文档,请参见 在结构定义之后,请在结构定义之前尝试使用#pragma pack(1)。您的外部问题是什么?你觉得你为什么要这么做?你的阵列中到底有什么?你确定在

我的一个数组占用14个字节,但在映射文件中显示为16个字节(即,下一个变量分配在16个字节的内存之后)。 我希望它不使用超过14个字节,即填充空间不应出现在映射文件中

我有什么相同的选择


可以使用任何编译器选项完成吗?

您的平台可能有“打包”节选项。然后将具有此属性的部分与字节对齐,您可能希望在结构周围使用
#pragma pack
。有关一些文档,请参见


在结构定义之后,请在结构定义之前尝试使用
#pragma pack(1)

您的外部问题是什么?你觉得你为什么要这么做?你的阵列中到底有什么?你确定在平台上不需要4字节对齐吗?看来你认为这是一个错误、侥幸、错误、疏忽或错误。但是,以这种方式存储数组元素有几个很好的理由。你能提供不应该这样做的理由吗?