gpt4 book ai didi

c - 要在 Windows 或 Visual Studio 中获取大块内存,您需要做些什么特别的事情吗?

转载 作者:太空狗 更新时间:2023-10-29 15:24:16 30 4
gpt4 key购买 nike

这是我的电话。

table  = (int *) malloc(sizeof(int) * (C+1) * (N+1));

C+1*N+1 结果是 657,562,500

但是这个调用在 Windows 上执行时为我返回了一个NULL(表明它无法分配那个空间量)。
(在我的 Linux 机器上,它适用于较小的数字,也适用于比这更大的数字)

在此之前,该程序实际上并没有做太多事情。

当我查看任务管理器时,它显示 28.1 GB 的可用内存。

所以我想知道,是否可以在 Visual Studio 中设置一些东西,比如编译器标志或允许我像这样获取大块内存的东西?

如果我的计算是正确的,我相信我要求大约 1.22GB。

感谢任何帮助

编辑:所以显然我需要将其作为 64 位应用程序运行。有人知道如何在 visual studio 中将 c 项目更改为 64 位吗?在平台下的配置参数中,Win32是唯一的选项。

最佳答案

您可能已将项目设置设置为构建 32 位应用程序。

虽然您的计算机可能有大量可用内存,但 32 位应用程序使用的内存不能超过 2GB。据我估计,4 字节 x 650M 大约是 2.6 GB。

尝试更改您的项目设置以构建 64 位平台。

但还是要问问自己,为什么要一次分配这么多内存。这很可能表明存在程序设计问题。

关于c - 要在 Windows 或 Visual Studio 中获取大块内存,您需要做些什么特别的事情吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21472059/

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