我的桌面是64位,有16GB内存。
是否有启动运行的编译时设置?还是运行时?
答案 0 :(得分:2)
您正在运行Linux。如果这不起作用,最可能的问题是,尽管有一台x86_64机器,但你已经安装了一个32位版本的操作系统,尽管是在一个支持64位的处理器上。如果您有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
。
虽然理论上你可以从i386
交叉编译到x86_64
,但在大多数情况下,这不值得麻烦,你会想要重新安装。
答案 1 :(得分:1)
这取决于您是指虚拟内存还是物理内存。
对于虚拟内存,您只需将代码编译为64位应用程序,您的程序自然会拥有最多2 ^ 64GB的虚拟内存。
对于物理内存,它取决于操作系统为程序分配多少内存。如果有足够数量的物理内存且您已经使用超过4GB的虚拟内存,则您的程序很可能也占用超过4GB的物理内存。
答案 2 :(得分:1)