C如何分配超过2GB的内存
我正在使用code::blocks编译一个C程序。这台电脑是:Windows 8.2 64b,带有32GB内存+32GB交换(如果需要)。我需要24GB来存储中间值,以使程序运行足够快(大约快X12) 我需要分配大约240个100MB的块。 malloc在第19个块(还有一些其他的小块)返回NULL,因此总计为2GB 有没有办法编译/链接程序以分配内存? 代码::块以外的其他工具?(我用Matlab做的,效果很好,没有内存问题,但Matlab确实比C慢) 致以最良好的祝愿。C如何分配超过2GB的内存,c,malloc,C,Malloc,我正在使用code::blocks编译一个C程序。这台电脑是:Windows 8.2 64b,带有32GB内存+32GB交换(如果需要)。我需要24GB来存储中间值,以使程序运行足够快(大约快X12) 我需要分配大约240个100MB的块。 malloc在第19个块(还有一些其他的小块)返回NULL,因此总计为2GB 有没有办法编译/链接程序以分配内存? 代码::块以外的其他工具?(我用Matlab做的,效果很好,没有内存问题,但Matlab确实比C慢) 致以最良好的祝愿。 密歇根州。您需要将其
密歇根州。您需要将其构建为64位应用程序,因为32位Windows应用程序的4GB可寻址内存数量有限,很多内存都是为操作系统等保留的。此外,我认为MinGW 32位不再被维护(?)
- 下载并安装Mingw64李>
- 在代码块的“设置->编译器”中,选择“工具链可执行文件”选项卡
- 指定路径,类似于C:\Program Files\mingw-w64。。。(无论安装在何处)
- 单击“自动检测”按钮。所有gcc路径和工具现在都应该更新为指向64位安装。C编译器应该类似于“x86_64-w64-mingw32-gcc.exe”