我創建了很多簡單的程序,它們不需要任何內存,但它們總是在任務管理器的私有內存列中顯示大約1MB-1.6MB的內存。如何編譯以減少內存/堆棧似乎沒有改變什麼?
,我讀了默認堆棧大小爲1MB與LINK.EXE鏈接,我試着用/ STACK這樣玩:
/STACK:65536 (64kb)
/STACK:16777216 (16mb)
當我運行該程序時,內存沒有根本改變..
即使是一個簡單的程序是這樣,使用1.6MB編譯與LINK.EXE 64位和無庫(simple.c):
#include <stdio.h>
int main() {
puts("hello world\n");
getchar();
return 0;
}
誰能告訴我怎樣才能在減少內存簡單程式?我知道1mb並不多,但我很好奇,因爲有些窗口進程在taskman中顯示非常低的內存,例如smss.exe運行0.4MB私有內存和2個線程。
謝謝!
RELEASE構建是否使用更少的內存? – 2011-06-05 23:48:46
這是發行模式x64。似乎總是0.8mb,嘗試了一個WINAPI條目,看看控制檯是否使用任何,但仍然0.8mb ... – Kaije 2011-06-05 23:55:51
這是什麼意思?如果你的電腦由於內存不足而發生瘋狂分頁,那麼優化你的1 MB玩具程序是不正確的。 – 2011-06-06 02:21:29