gpt4 book ai didi

c++ - 最大内存分配?

转载 作者:行者123 更新时间:2023-11-28 07:31:47 24 4
gpt4 key购买 nike

您好,我正在尝试使用它:

std::tr1::array<std::tr1::array<queue<Graphnode>,MAXCPU>,MasterBufferNo> checkQueue;

但是如果MasterBufferNo或MAXCPU太大(MAXCPU = 4, MasterBufferNo=30000),就会出现运行错误:

=====================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= EXIT CODE: 11
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
=====================================================================================

请问如何限制?或者有什么问题?我需要一个比这大得多的数组...Graphnode 的大小是 32 字节。

谢谢

最佳答案

std::array 是静态大小的 C 数组的包装器。这意味着该数据将分配在堆栈上。堆栈分配的大小有一个上限。所以最好的办法是通过 sdt::vector 动态分配它。

一种可能:

std::vector<std::array<std::queue<Graphnode>,MAXCPU>> checkQueue(MasterBufferNo);

关于c++ - 最大内存分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17531063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com