內存的讀取速度顯然較硬盤要快的多,當做程序時遇到大規模數據的頻繁存取的時候,開辟內存控件就更顯得重要了!一般來說,我們所用的內存有棧和堆之分,其它的我們很少控制,棧的速度快,但是控件小,不靈活;而堆的控件幾乎可以滿座任何要求,靈活,但是相對的速度要慢了很多,并且在vc中堆時人為控制的,new了就要delete,否則很容易產生內存泄露等問題。
將程序??臻g定義得大一點,VC++默認的??臻g是1M,有兩個方法更改
a. link時用/STACK指定它的大小,或者在.def中使用STACKSIZE指定它的大小
b. 使用控制臺命令“EDITBIN”更改exe的??臻g大小。
例如:打開工程,依次操作菜單如下:Project->Setting->Link,在Category 中選中Output,然后在Reserve中設定堆棧的最大值和commit。
注意:reserve最小值為4Byte;commit是保留在虛擬內存的頁文件%
方法一:STACKSIZE 定義.def文件
語法:STACKSIZE reserve[,commit]
reserve:棧的大小;commit:可選項,與操作系統有關,在NT上只一次分配物理內存的大小
方法二:設定/STACK
打開工程,依次操作菜單如下:Project->Setting->Link,在Category 中選中Output,然后
在Reserve中設定堆棧的最大值和commit。
注意:reserve默認值為1MB,最小值為4Byte;commit是保留在虛擬內存的頁文件里面,它設置的較
大會使棧開辟較大的值,可能增加內存的開銷和啟動時間