|
wince 中压缩与非压缩dll , xip dll 与非xip dll
[复制链接]
由于嵌入式系统的特定要求,ce必须比桌面系统更有效的使用和节省物理内存,采用有rom文件系统与ram文件系统。可以在rom中存放压缩的与非压缩的文件,前者中的可执行文件(dll,exe)必须解压到ram才可使用,后者如果在支持线性访问的介质(如nor flash)中则可以xip。非xip的dll在加载时,会在调用dll的进程的slot0空间中按需申请物理内存。ram文件系统专用于对象存储,nk(config.bib中定义,用于存放从flash中的内核镜像解压出来的所有文件)以外的ram分为对象存储区域(采用flash进行对象存储后,可以减少)和应用程序内存区域(默认各一半)。
有以下两个疑问:
1、rom中存放压缩与非压缩的文件,这里压缩的文件指的是怎么个压缩法?是怎么实现压缩的,用UPX对dll加一个压缩壳算吗?
2、一个dll,如果是xip的,只要被放到slot1,所有的进程都可以使用,节省空间。也就是说XIP dll可以被多个进程共享。
如果不是XIP,该dll就会被加载到app的进程空间,如果每个进程都要使用dll,那么每个进程空间都必须保存一份这个dll的代码
ps:这种理解来源与网络
如果上面的理解是对的,那XIP dll 和非XIP dll 能不能人为转换呢?
望达人不吝赐教 先谢谢了^^
|
|