在GCC编译器中调用#pragma pack()
而没有参数的对齐是什么?
另外,我经常看到当我们在创建对象时使用placement new
时,class
经常被打包。这是什么原因?是否有必要这样做?
答案 0 :(得分:2)
对于第一部分,你可以鲁莽地使用google:http://gcc.gnu.org/onlinedocs/gcc/Structure_002dPacking-Pragmas.html
其次,您可能需要控制班级的二进制格式。您可能需要管理内存量和数据结构的实际二进制偏移量:
struct
{
char c;
int i;
};
根据所使用的机器类型和pragma包,可以使用8个字节的内存或5个字节的内存。