我正在使用 std::bitset 并尝试创建两个大小为 100,000,000,000 的数组 std::bitset 。结果,程序只占用了我的 298 MB RAM,但必须填充 ~24 GB。我有 32 GB RAM,现在 26 GB 是免费的。当我为 x86 构建代码时,它会编译并可以启动,但对于 x64,它会显示以下内容:错误 C2148:数组的总大小不得超过 0x7fffffff 字节。如何修复它并且不减少位集数组的大小?
我尝试制作两个全局数组。另外,我已在 Microsoft Visual Studio -> 项目 -> name_project 属性 -> 配置属性 -> 链接器 -> 系统 -> 堆栈保留大小中设置为 25,000,000 (我认为必须有 KB,所以我认为我已设置为〜 25 GB)。
... // other libraries
#include <bitset>
std::bitset <100000000000>mas;
std::bitset <100000000000>a1;
int main() {.../* work with the arrays */...}
Run Code Online (Sandbox Code Playgroud)
我想使用巨大的 std::bitset 数组运行代码。
UPD:对于 x86 可以,但是对于 x64 呢?我的代码检查整个数组并在某一时刻停止。