Warning: mkdir(): No space left on device in /www/wwwroot/jx.baidu.com/func.php on line 159

Warning: file_put_contents(./web/hch368.com/cache/0d/cf375/0fc4b.html): failed to open stream: No such file or directory in /www/wwwroot/jx.baidu.com/func.php on line 149
GG扑克

GG扑克




  • 红(hóng)软基地:您身边(biān)最放心(xīn)的安全下载站!
您所(suǒ)在的位(wèi)置:首页 > 软件 > 其他下载(zǎi) > 电脑内存整理清理碎片释放(fàng)器工具软件

电脑内存整理清理碎(suì)片释(shì)放器工具软件

软件类型:
国产软(ruǎn)件
软件语言:
简体中文
软件大小(xiǎo):
1 MB
软(ruǎn)件授权:
免费软件
软(ruǎn)件评级:
4
更新时间:
2014-09-15
应用平(píng)台(tái):
WinXP, Win7, WinAll
同类(lèi)推荐软件(jiàn)
软件简介(jiè)

电脑(nǎo)内存整理清理碎片释放器工具(jù)软(ruǎn)件,就是将(jiāng)驻留在内存中(zhōng)的数据(jù)从内存中释放出来,以提高系统内(nèi)存资源的利用率,进而提升系统性能。 在C++中,内存分成5个(gè)区,他们(men)分别是(shì)堆、栈、自由存储区、全局/静态存储区和常量存储区。内存中,堆和(hé)栈的(de)区(qū)别(bié):1、管理方式不同; 2、空间(jiān)大小(xiǎo)不同; 3、能否(fǒu)产生(shēng)碎片不同; 4、生长方向不同; 5、分配方式不同; 6、分(fèn)配效率不同。VfD红软基地

内(nèi)存分配(pèi)

五大内存分区VfD红软基地
在C++中(zhōng),内存分成5个(gè)区(qū),他(tā)们分别是(shì)堆、栈、自由(yóu)存(cún)储区、全局/静态存储区和常量存储(chǔ)区。VfD红软基地(dì)
栈,就是那些由编译(yì)器在需(xū)要的时候分配,在不需要的时候(hòu)自动(dòng)清除的(de)变量的(de)存储区。里面(miàn)的变量通(tōng)常是局部(bù)变量、函数参数等。VfD红软基地(dì)
堆,就是那(nà)些由(yóu)new分配的内存(cún)块(kuài),他(tā)们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如(rú)果(guǒ)程(chéng)序员没(méi)有释放(fàng)掉(diào),那(nà)么在程序结束后,操作系(xì)统会自动回收(shōu)。VfD红软基地
自(zì)由存储区,就(jiù)是那些由malloc等分配的(de)内存块,他和堆是十分相似的,不过它是用free来结(jié)束自(zì)己的(de)生命的。VfD红软基地
全局/静态存储区,全(quán)局变量和静态变量(liàng)被分配到同一块内(nèi)存中,在(zài)以前的C语(yǔ)言中,全局变(biàn)量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存(cún)区。VfD红软基地
常量存储区,这是一块比较特殊的(de)存储区,他们里(lǐ)面(miàn)存放(fàng)的是(shì)常量,不允许修改(当然,你要通过非(fēi)正当手段也可(kě)以修改,而且方法很多)VfD红软基地
内(nèi)存(cún)中,堆和栈的区别VfD红软基地
初(chū)学内存(cún)的时候(hòu),免不了对堆和(hé)栈(zhàn)的学习了解。很多初学(xué)者对这(zhè)一(yī)问(wèn)题都很敏感!甚(shèn)至(zhì)一些(xiē)“老手”对这一问题也有(yǒu)一些(xiē)疑问。搞清楚堆(duī)区和栈区的(de)区别,是我们学(xué)习(xí),了解内(nèi)存(cún)并进(jìn)一步应用的必经阶段!VfD红软基地
主要的区(qū)别由以下几点:VfD红软基地
1、管理方式不同;VfD红软基地
2、空间大小不同;VfD红软基地
3、能否产生(shēng)碎片不同(tóng);VfD红(hóng)软基地
4、生长方向不同;VfD红软基地
5、分配方(fāng)式(shì)不同;VfD红软(ruǎn)基地
6、分配效率不同;VfD红软(ruǎn)基地
管理方式:对(duì)于栈(zhàn)来讲,是由编译器(qì)自(zì)动管理,无需我们手工控制;对(duì)于堆来(lái)说,释放工作由程序员控(kòng)制,容易(yì)产生(shēng)memory leak。VfD红软基地
空间(jiān)大小:一般来讲(jiǎng)在32位系统下,堆内存可(kě)以(yǐ)达到4G的空间,从这个角度来(lái)看堆内存几乎是没(méi)有什么限制的。但是对于栈来(lái)讲(jiǎng),一般都是有一(yī)定的空间大小的,例如,在VC6下面,默认的栈空间大小是1M(好(hǎo)像是(shì),记不清楚了)。当然,我们(men)可以修改:VfD红软(ruǎn)基地
打开工程,依次操作菜单(dān)如(rú)下(xià):Project->Setting->Link,在Category 中选中Output,然后在Reserve中设定(dìng)堆栈(zhàn)的最大(dà)值和commit。VfD红软基地
注(zhù)意:reserve最(zuì)小值为(wéi)4Byte;commit是保留在(zài)虚拟内存(cún)的页文(wén)件(jiàn)里(lǐ)面,它(tā)设置的较大会使(shǐ)栈(zhàn)开辟较大的值(zhí),可(kě)能增加内存的开销和(hé)启动时间。VfD红软基地
碎片问题:对于(yú)堆来讲(jiǎng),频繁的new/delete势(shì)必会造成内存空间的(de)不连(lián)续,从而造成大(dà)量的碎片,使程序效率降(jiàng)低。对(duì)于栈来讲,则不(bú)会存在这个问题,因为栈(zhàn)是先进后出的(de)队列,他们是(shì)如此的(de)一一对应,以至于永远都不可能有一个内存块从栈中间弹出,在他弹出之(zhī)前,在他上面(miàn)的后进(jìn)的栈内容已(yǐ)经(jīng)被(bèi)弹出,详细的可以(yǐ)参考(kǎo)数据结构,这里我们就不再一一讨论了。VfD红软基(jī)地
生长方向:对于堆来讲(jiǎng),生长方向是向上(shàng)的,也就是向(xiàng)着内存(cún)地址增加的(de)方向;对(duì)于栈来讲,它的生长方向是向下(xià)的,是(shì)向着内存地址(zhǐ)减小的方(fāng)向增长。VfD红软基地
分配方式:堆都(dōu)是动态分配的,没有静态分配的堆(duī)。栈(zhàn)有2种分配方式:静(jìng)态分(fèn)配(pèi)和动态分配。静态分配是编译器完成的,比如局部变量的分配(pèi)。动态(tài)分配(pèi)由(yóu)alloca函数进行分配,但(dàn)是栈的(de)动态分配和(hé)堆是不同的,他的(de)动态分配(pèi)是(shì)由(yóu)编译器进行释放,无需我们手(shǒu)工实现。VfD红软基地
分(fèn)配(pèi)效率:栈是机器(qì)系统提供的数据结构(gòu),计算机会在底层对栈提供支持:分配专门的寄存器存放栈的地址,压栈出栈都有专门的指令执行,这就决定了栈的效率比较(jiào)高。堆(duī)则是C/C++函数库提供的(de),它的机制(zhì)是很(hěn)复杂的,例如为了分配一(yī)块内存,库函数会按(àn)照一定的(de)算法(具体的算法(fǎ)可以参考数据结构/操作系统)在(zài)堆内存中搜(sōu)索可用(yòng)的足够(gòu)大小的空间,如果没有足够大小的(de)空间(可能(néng)是(shì)由于内存碎片太多),就有可能调(diào)用系统功能去(qù)增加(jiā)程(chéng)序数据段的内(nèi)存空间,这样就有机会(huì)分到足够(gòu)大小的(de)内存,然后进行返回(huí)。显然(rán),堆(duī)的效率(lǜ)比栈要低得多。VfD红软基地(dì)
从(cóng)这里我们可以看到,堆(duī)和栈相比,由于大量new/delete的使用,容易造成大量的内存碎片;由于没有专门的系统支(zhī)持,效(xiào)率很低;由于可能引发用户态和(hé)核心态的切换,内(nèi)存的(de)申(shēn)请,代价变得更加昂贵。所以栈(zhàn)在程序中是应用最广泛的,就算是函数的调(diào)用也(yě)利用栈去完成(chéng),函(hán)数调用(yòng)过程(chéng)中的参数,返回地址,EBP和局部变量都采用栈的方式存(cún)放。所以,我们推(tuī)荐大家尽量用栈,而不是用堆。VfD红软基地
虽然栈有如此(cǐ)众多的好处(chù),但是由于和堆(duī)相比不是那(nà)么灵活,有时候分配大(dà)量的内存空间,还是用(yòng)堆(duī)好一(yī)些。VfD红软基地
无论是(shì)堆还是栈,都要(yào)防(fáng)止越界现象的发生(shēng)(除非你是故意使其越界),因为越(yuè)界的结果要么是程序崩溃,要么(me)是摧毁(huǐ)程序的堆、栈结(jié)构,产生(shēng)以想不到的结果,就算是在你(nǐ)的程序运行过程中,没有发生(shēng)上面(miàn)的问题,你还是要小心,说不定什么时候就(jiù)崩掉,那时候debug可是(shì)相当困难的!VfD红软基地
因此,在构建程序的时(shí)候防止越界现象的发生,让你的程(chéng)序更(gèng)健康!VfD红软基地

截图

VfD红软基地(dì)

红软(ruǎn)基地破解(jiě)版软件均来自互联网, 如(rú)有侵犯您的版权, 请与我们联系(xì)。
软件下载(zǎi)地址
电脑内存整理清理(lǐ)碎(suì)片释放器工具软件(jiàn)
软(ruǎn)件推荐
下载排行(háng)

精品(pǐn)软件(jiàn)

热门关键词

热门(mén)软件推荐(jiàn)