A
ahxia
Unregistered / Unconfirmed
GUEST, unregistred user!
刚刚看了undu, 觉得不错耶:
好多人都用过 像 ASPack,UPX这类的可执行程序压缩软件,但是..
下面开始吓唬大家:
Win32的运行机制优势有..
1, 需要的东西放入内存,不需要的还是在硬盘上..(废话)但是对于单个的程序也
是如此: 例如一个程序有打印功能,不需要打印的时候,代码并没有加载,只有第
一次调用了,才放入内存... 一旦内存非常紧张,就通过页交换,把这种长期不使
用的内存扔掉.(听起来不错的样子)
2.同一个程序的申请的内存就是这一个,(好像也废话), 就是说,哪怕你同一个程序
有很多实例同时存在,依然还是用同样的这一块内存, 无论.exe 还是 .dll 都如此.
就是说正常情况下,一个实例和100个同一个程序的实例,占用内存一样多.(怎么有
一点像linux, 这个我不大清楚 ~~ )
---Bad News Below---
如果压缩了呢, Win32程序就变得和压缩了的DOS程序一样了,加载的时候,把所有
的内容都载入内存, 仅仅当程序结束,才可以释放...而且,更坏的是...多个实例之间
不能共有同一内存了...无论对exe还是dll (比较坏的消息) ,这就是因为压缩了的exe
不是用原始(raw)的模样存储的, win32没法帮你的忙
然后...不知道大家以后还用不用exe压缩呢? (偷笑哦)
好多人都用过 像 ASPack,UPX这类的可执行程序压缩软件,但是..
下面开始吓唬大家:
Win32的运行机制优势有..
1, 需要的东西放入内存,不需要的还是在硬盘上..(废话)但是对于单个的程序也
是如此: 例如一个程序有打印功能,不需要打印的时候,代码并没有加载,只有第
一次调用了,才放入内存... 一旦内存非常紧张,就通过页交换,把这种长期不使
用的内存扔掉.(听起来不错的样子)
2.同一个程序的申请的内存就是这一个,(好像也废话), 就是说,哪怕你同一个程序
有很多实例同时存在,依然还是用同样的这一块内存, 无论.exe 还是 .dll 都如此.
就是说正常情况下,一个实例和100个同一个程序的实例,占用内存一样多.(怎么有
一点像linux, 这个我不大清楚 ~~ )
---Bad News Below---
如果压缩了呢, Win32程序就变得和压缩了的DOS程序一样了,加载的时候,把所有
的内容都载入内存, 仅仅当程序结束,才可以释放...而且,更坏的是...多个实例之间
不能共有同一内存了...无论对exe还是dll (比较坏的消息) ,这就是因为压缩了的exe
不是用原始(raw)的模样存储的, win32没法帮你的忙
然后...不知道大家以后还用不用exe压缩呢? (偷笑哦)