【发布时间】:2012-02-01 02:28:19
【问题描述】:
出于各种原因,我想强制一些结构为特定大小(在本例中为 64 字节和 512 字节)。然而,两者都低于我想要的尺寸。
我是否可以告诉编译器将它们设置为这些特定的大小并用零填充,或者我最好在结构内声明一个数组来构成多余的空间,以便它与大小对齐我要吗?
【问题讨论】:
-
是什么原因?可能还有其他方法可以解决问题。
-
想到使用带有字符数组的联合...
-
您可以尝试使用
#pragma pack进行某种破解,但我不知道这会有多大用处。 -
我正在为 OS 类做一些低级的工作,当我从磁盘读取时,块大小为 512 字节。我可以有一个暂存区,我可以在其中读取块,但我认为将关键数据结构设置为 block_size 会更优雅,这样我就可以直接读取它们。
标签: c memory struct sizeof system