摘要: 7.1为什么要动态链接用动态链接的原因是因为静态链接有这样那样的问题。对比二者我们可以总结出静态链接的俩大缺点,和动态链接的两大优点:(1)静态链接浪费内存和磁盘空间静态链接会把所有链接到的库装载入内存,而却这些库装载入内存后只能给进程自己使用,不能共享给别的程序进程使用。用书中的例子说,1个程序需要用100MB的内存,那么100个程序就要用100MB,对空间的浪费很严重。(2)程序的更新和升级书中的原话就是,程序中有任何模块更新,整个程序都需要更新重新链接,十分麻烦。因此与此对立的就是动态链接库的优点:(1)当然是节省空间,同样的库只需存在一份副本即可(2)便于升级,便于编写插件,便于跨平台 阅读全文
posted @ 2013-01-03 22:24 I_O_S 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 1.程序如何被操作系统装载到内存中运行?(1)覆盖装入这种方法基本被淘汰了,但书上说它体现的思想有借鉴意义。再嵌入式内存受限条件下,特别是诸如DSP等,或与有用武之地。(什么是DSP?????)覆盖的大概原理就是加入程序有AB俩个模块。AB可以共享一块内存区域,当用到A时把A调用进来覆盖掉B,或B的某部分。当需要B时同理。(2)页映射这个大家应该再熟悉不过了。就是把程序分成页之后,程序中的页和内存总的页存在对应关系。(谁对应谁无所谓)。用到谁的时候就把谁给调用进来。至于把谁替换出去,就要看操作系统的选择的算法了。比如FO(first in first out~~)2.从操作系统看可执行文件的装 阅读全文
posted @ 2013-01-03 22:22 I_O_S 阅读(312) 评论(0) 推荐(1) 编辑