簡體   English   中英

如何使C ++程序使用超過4GB的RAM?

[英]How to make a C++ program use more than 4GB RAM?

我的桌面是64位的,並具有16GB內存。

是否有編譯時間設置來啟用運行? 還是運行時?

您正在運行Linux。 如果這不起作用,則最有可能的問題是,盡管有一台x86_64機器,但是盡管已在具有64位功能的處理器上安裝了32位版本的OS。 如果您使用的是64位版本的操作系統,則編譯器工具鏈應自動生成可以使用超過4GB內存的代碼。

要檢查,請鍵入:

uname -a

您應該看到類似以下內容:

Linux nimrod-ubuntu 3.13.0-29-generic #53~precise1-Ubuntu SMP Wed Jun 4 22:06:25 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

請注意, x86_64不是i386

從理論上講,您可以從i386x86_64交叉編譯,但在大多數情況下,這樣做並不麻煩,您將需要重新安裝。

這取決於您指的是虛擬內存還是物理內存。

對於虛擬內存,您只需將代碼編譯為64位應用程序,您的程序自然就會擁有多達2 ^ 64GB的虛擬內存。

對於物理內存,取決於操作系統為程序分配多少內存。 如果有足夠的物理內存可用,並且您已經使用了超過4GB的虛擬內存,則您的程序很可能也占用了超過4GB的物理內存。

gcc的64位標志是-m64。

如果您的計算機是64位,則它是默認設置,並且您需要提供-m32來編譯32位版本。

如果您想了解更多信息,請點擊這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM