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