簡體   English   中英

C ++ 14 RAM的使用

[英]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.

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