| 网站首页 | 科技前沿 | it产品项目 | 软件项目 | 硬件项目 | 发明专利 | 商业城 | 资源中心 | 博客 | 论坛 |  子站: it客栈 多奥网
会员中心
会员注册
繁體中文
推荐:索引 linux arm 手机 嵌入式 os wince dsp 音乐 游戏
 站内搜索:
项目资讯 资源中心
您现在的位置: 爱问科技网 >> IT产品项目 >> 综合 >> 文章正文
symbian与uiq开发教程[完整版](九)       ★★★★
symbian与uiq开发教程[完整版](九)
作者:佚名 文章来源:不详 更新时间:2006-11-23 20:25:29
代码执行
如果程序代码在rom上,则直接执行,不然需要读到ram中(与普通操作系统不同,普通操作系统都需要读到ram中
不能直接在硬盘上执行)
可执行代码包括三种类型的二进制数据:
程序代码
只读静态数据
可写静态数据
在symbian中对待.exe与.dll是不同的
由于.exe是不可共享的,如果它在ram中执行,那与普通pc系统没有区别,如果在ram中执行,那它在ram中为可写静态数据分配内存
而.dll是共享的,当dll首次读入内存中时,它被分配到一个特殊的地址,第二个线程需要这个dll时它只要访问已经存在的这份copy就可以。在所有使用它的进程中dll的地址都是相同的。symbian系统维护一个引用计数,当没有其它线程引用时才将它unload.
在rom上的dll像rom上的exe一样直接在rom上执行

为了对dll的大小进行优化,symbbian进行如下操作;
多数系统支持通过名字与通过数字访问dll提供的入口,由于名字太长,浪费空间,所以symbian只提供通过数字访问,当然在link时可以通过名字 link.也就是说在.dll中没有名字访问办法,在.lib(引导库,引导linker正确的link这个dll,这个是在windows中使用的概念,在win下每创建一个dll都会创建一个用户引导链接的同名.lib)中有,你的程序link时link的是.lib,link完成后编译器会自动把引用dll的代码变成数字引用
如果dll被读到ram,那重定位信息(把dll
load到什么地址)也必须包含在可执行文件格式中,这个的影响就是你不能把一个在rom中执行的程序放到ram中执行的程序.(rom中执行的多是oem厂家,所以普通开发者多不用关心)


多数应用程序有自己有exe来创建进程,其它的程序使用动态库(DL)L的形式,在主服务线程中调用自己的线程
多数gui程序都是多态(polymorphic)dll,有一个主入口点NewApplication(),这个入口点创建并返回一个继承自CEikAppication的对象.这样的程序被apprun.exe调用,app文件名为参数传入
在syjmbian中可以在rom执行

并且dll也算可执行程序

这样看起来确实是比较奇怪

但是
symbian是一个手机操作系统 资源不是很多

使用dll 只需要在一个线程中执行

而线程的开销比进程少的多

无论是在内存(每个进程都有独立的内存,而线程共享进程的内存与资源) 还是进程间通信的方面 线程的开销都比进程少的多

在rom中可执行代码也是因为手机内存很少(还没有达到128M)

在rom中也可以执行引起了symbian与其它系统的两个不同
第一 就是dll不可以有可写的静态变量 因为如果dll在rom上 它不需要读到内存 所以无法改写
第二 就是rom上exe文件执行时 只需要把可写的变量放到ram中 这也表示可以在exe中使用静态可写变量


在symbian中
dll的作用很大

如普通的gui程序 都是dll

它们由apprun.exe调用 作为参数

另外还有其它功能
如内核逻辑设备驱动(ldd) 也是
还有文件关联库(mdl 打开某个文件类型时自动调用)


而exe一般只用于写服务器程序

(在symbian中广泛使用客户/服务器模式 所以你也可以只把部分写成服务器 其它的写成客户端请求服务器的服务 实现你的软件)


 [主题]:介绍一下symbian与ppc(ms smartphone)手机区别

  symbian与ms smartphone是两个不同的手机平台
  现在symbian的市场占有率是60% ms和其它手机系统占智能手机的30%多
  同时symbian上软件ms的3倍 销售额也是2倍以上 nokia推出了与开发者合作的计划 所以symbian上的应用软件在不断增加 而且很多都很好玩

  另外可操作性与资源消耗量(如cpu要求 内存要求 待机) 这些都是ms的弱点
  所以到现在一直无法在市场上增加份额(手机只能用一天 那这样的手机不知道有什么bt会买) 而symbian因此可以以更少的资源做更多的事 同时也在市场上不断增加份额

由于ms smartphone操作系统使用的资源更多 所以厂家无法在硬件上降低成本
所以ms的手机 如果可以跑的比较流畅 那价格应该都会比symbian手机多

  nokia的s系列与索爱的p系列只是symbian上两个不同的界面 这两种界面都可以跑symbian程序

  以后的发展 硬件在不断发展 同时ms的开发速度与pc上开发差不多
  不过我想 还会是symbian强 因为现在symbian上的软件积累不知道要比wince上多多少

  另外为了改变symbian一向是高价机的形象 nokia推出了ng系列低价手机 吸引广大玩家进入 同时丰富symbian上的应用

从ng的火热可以看到 后面的结果应该是symbian开发的天下

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    相关文章
    Symbian系统设置高级应用
    Symbian OS C++程序员编
    Symbian OS C++程序员编
    Symbian OS C++程序员编
    在Symbian OS中读取ZIP文
    Symbian OS C++程序员编
    symbian与uiq开发教程[完
    symbian与uiq开发教程[完
    symbian与uiq开发教程[完
    symbian与uiq开发教程[完
    更多内容
    专题栏目
    更多内容
    最新推荐 更多内容
    | 设为首页 | 加入收藏 | 关于我们 | 版权申明 | 友情链接 | 谷歌 雅虎 百度 | 管理登录 | 

    爱问科技网
    爱问科技网

    21aw@21aw.com
    粤icp备06099319