[英]C++14 RAM Usage
在SPOJ上提交解決方案時,我發現我的程序使用了16M的內存,即使我的程序使用了單個整數變量也是如此。
這是自然的還是我缺少了什么?
#include <iostream>
int main(void)
{
int x;
while(true)
{
std::cin >> x;
if(x == 42)
{
break;
}
std::cout << x << "\n";
}
return 0;
}
使用的編譯器是gcc 6。
如果您正在運行調試信息(makefile中的strip命令會將其拉出),並且正在構建優化或未優化的設備,則這是很自然的。
嘗試將-s和-O添加到GCC命令(如果尚未添加)。 這將構建經過優化的可執行文件,並從可執行文件以及其他一些內容中刪除符號表。 應該大大減少您的內存使用量。
如果要對內存進行進一步的優化,也可以使用GCC自定義設置堆棧大小,也可以嘗試將其減小為KB,從而在此基礎上有所作為。
總而言之,對於未優化/調試加載的可執行文件,這是很正常的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.