WEB开发网
开发学院手机开发Symbian 开发 Symbian 动态链接库相关问题答疑 阅读

Symbian 动态链接库相关问题答疑

 2010-03-24 17:16:00 来源:WEB开发网   
核心提示:什么要设计库?1: 封装代码,不希望别人看到自己具体实现的代码,Symbian 动态链接库相关问题答疑,就好象你能用xp,但是你不知道具体实现代码一样,因为微软已经对xp的代码做了封装,系统已经将这一部分集中到了手机操作系统里面,就好象微软自带的iis一样,2: 重用性,如果一个软件的很多地方都用到了同样的模块

什么要设计库?

1: 封装代码,不希望别人看到自己具体实现的代码。就好象你能用xp,但是你不知道具体实现代码一样,因为微软已经对xp的代码做了封装。

2: 重用性,如果一个软件的很多地方都用到了同样的模块,当需求有变化的时候或者其他情况,需要你去修改此类模块的操作,那么你要做的就是把所有的代码块全部改一遍,如果运行好,会很顺利,否则,麻烦就来了。。(我就遇到过)。这是就需要你将这些功能相同的代码抽出来,封装成库。这样你修改的时候,只要修改一下库就好了。

3:如果是移动开发,手机上资源不是很宽裕,我们要节省一切能节省的,从另一个方面,也体现了一个编程人员的职业素质。同样功能的一个软件,有人用 200k,有人却要用400k,这在实际开发中很正常。所以,尽可能的增加你程序里的代码模块的重用性。

好了,说了些基本的常识,下面说一下开发中要实际考虑的东西。这里我不会阐述具体的实现过程,如果有疑问,请看我以前的帖子。

lib/ dll / .h 静态链接库,动态链接库,头文件。

为了能够更好的理解,我从编译原理的角度来阐述一下关于程序的编译和link和run

程序编译的时候,我感觉其实就是检查语法,比如有在引用的头文件里有没有引用具体函数命名,返回值类型,哪怕你就写一个空函数,里面什么都不做,编译期也会通过。(大学的编译原理,没想到现在我还记得,呵呵),在此期间不会加载lib文件的。

lib 静态链接库,顾名思义,静态加载的,在程序link的时候就要加载进程序。在程序link的时候,会将对应的lib加载到程序中来,说明白一点,就是将 lib中的代码对应加载到程序中来。加载完了,lib就没事了因为这个时候lib中代码就拷贝到了你的程序中。你也可以试试,当你写一个lib时,的方法体没有,和方法体很大的时候,所生成的可执行文件大小是不一样的。呵呵。link之后,你就可以run你的执行文件了....

dll 动态链接库,前面说到了,静态链接库在link的时候加载,如果你的程序很多地方用到了lib,那么恭喜你,你会发现你的程序大小还是没有明显变化,呵呵。

动态链接库,当程序用到的时候才会去加载,你只需要将生成dll装入手机就好了,其实我们平时用到的系统的很多方法都是东动态链接库,系统已经将这一部分集中到了手机操作系统里面,就好象微软自带的iis一样,说点具体的,动态链接库有两种实现方式:

1 2  下一页

Tags:Symbian 动态 链接

编辑录入:coldstar [复制链接] [打 印]
赞助商链接