第一部分总结
上面介绍了基本的入门程序与symbian的结构
从基本的入门程序中可以看到一个程序的基本结构 那就是从 E32main开始 使用cleanupstack保护要执行的代码
相对于c++而言 语言级不支持throw 和catch,所以定义了函数User::Leave与宏trap保护 并且使用cleanupstack保证程序退出时资源的正确释放
第二部分介绍了symbian的结构与设备特点 后面会继续介绍
另外nokia的ng 也是使用symbian操作系统 使用的是s60系统 后面会介绍到它的不同
如果高兴的话 可以买个s60回来 自己给它写游戏 symbian相关学习的代码 http://www.symbian.com/books/scmp/scmp-source.html
安装uiq sdk(最新版是2.1 可以从www.uiq.com免费下载)后 下载它们 解压到一个目录
然后在有bld.inf的目录下开始执行
bldmake bldfiles abld build wins udeb
(这些命令的语法已经在上面说明过一次) wins表示是创建windows模拟器 对应的还有armi 结构 这是表示生成真机上 可执行文件 udeb表示是unicode的debug版 对应的有urel 表示unicode的release版
另外 上面是symbian mobile:c++ program的例子 在前一页提供一个链接可以下载第一章 可以拿来看看
//============================================== // 可执行文件格式 //============================================== 可执行文件的格式 在symbian中有两种类型的可执行文件: exe,每个程序都有一个主入口E32main()(看上面的例子),它在独立的进程中运行 dll,提供多个入口,由系统或是已存在的线程(进程)调用 有两种类型的dll, 共享库dll,为一个或多个程序提供固定的api,这些dll多数后缀是.dll,当程序启动时就被读到内存中。 多态dll,这些dll实现抽象的api,如一个打印机驱动,socket协议或是一个应用程序。它们的扩展名多不是.dll,而是.prn或.prt或.app等。它们从与dll相关的类继承,并通常只有在程序需要它们时才读入。
从技术上看起来与普通系统上动态库的静态载入与动态载入没有区别 但是从功能上看就不一样了,一种是实现某种特殊功能的,从某个相关类继承的dll,另一个是普通dll
|