如何强制长4字节

Ruf*_*fio 2 c++ arrays int sizeof long-integer

我有个问题.当我编译我的项目时,我有sizof(long int) = 8sizof(int) = 4.但是,我也需要sizeof(long int)4岁.有没有办法做到这一点?问题是我有很多巨大的int数组,需要将它们设置为long int数组.如果我转换所有数组(特别是这意味着,转换数组的每个条目)会导致很多时间.

yos*_*ian 6

long int在LP64平台(或陌生平台,就此而言)上,您不能强制内置类型为4个字节.

但是,您可以使用类型<stdint.h>来保证变量的确切大小.

在您的情况下,您将需要int32_tuint32_t作为您的类型,这取决于您是否需要/想要一个符号位.