gpt4 book ai didi

c++ - 如何编译程序以使其能够在 32 位 Linux 上使用 >4GB 内存?

转载 作者:IT王子 更新时间:2023-10-29 00:49:12 24 4
gpt4 key购买 nike

整个代码是用 C、C++ 和 Fortran 编写的。是否可以让它使用超过 4GB 的内存。现在一直是3GB内存就死机。

如果可以,如何设置编译选项(或配置标志)?

我们可以使用 gcc、g++、...或 intel 编译器

我们的操作系统:Fedora 12 x32

cat /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority
bogomips : 5319.72
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual

最佳答案

不幸的是你达到了极限

R> 2^32
[1] 4294967296

这是您的 4 GB 限制。因此,无论操作系统如何,您都无法为 单个应用程序 编制索引。

这是我们许多人切换到 64 位版本操作系统的原因之一。 Linux 自 1990 年代末以来就支持这一点。只需切换到 64 位的 FC(或 Ubuntu 或...)。

一个可能的替代方案是安装更多 RAM(Linux 将处理)并将您的任务分割到应用程序的多个实例中,有效地并行运行它。但这可能不值得麻烦......

关于c++ - 如何编译程序以使其能够在 32 位 Linux 上使用 >4GB 内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5626090/

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