Symbian游戏编程入门 (三) 应用程序开发简介
2004-12-07 10:23
507 查看
三. 应用程序开发简介
3.1 Symbian应用程序类型介绍
Symbian OS 中编译的二进制代码由三种目标类型,EXE、APP和DLL。3.2 EXE程序的开发
当我们的应用程序并不需要用户界面,只需要使用一个单独进程的时候,我们可以创建.EXE 程序。.EXE程序包含一个主入口E32main(),当系统通过E32main()启动的时候,系统会创建新的进程,并在此进程中创建新的线程。在创建EXE 程序时,我们需要在.mmp文件中将程序的TARGET指定为 EXE 。EXE通常是服务端或命令行程序,通常隐蔽的运行,他没有GUI,不能直接从主菜单运行。下面是一个最基本的控制台应用程序的MMP文件:
target Console.exe
targettype EXE
UID 0x100039CE 0x10005B91
TARGETPATH /system/apps/Console
sourcepath ../src
userinclude ../in
systeminclude /EPOC32/INCLUDE
systeminclude /EPOC32/INCLUDE/LIBC
source e32main.cpp Console.cpp
library euser.lib
我们编译程序后,会生成Console.exe。将程序打包安装后,我们无法直接运行此程序。运行此程序可以有两种方法,第一是通过其他程序的调用来运行,第二是使用SeleQ 一类的文件浏览器选择此程序然后运行。
在这里我们实现了一个console类用来显示上边的文字。我们在设计一个后台程序时候也可以不实现console类,这样程序运行时候在屏幕上将不会有任何显示。
3.3 APP程序的开发
当我们创建的应用程序需要使用用户界面的时候,我们需要创建APP程序。一个APP程序可能包括自定义的字符串、菜单项、对话框等。如果我们要创建一个APP程序,我们需要在.mmp文件中将程序的TARGET指定为 APP 。我们最熟悉的Helloworld 就是一个简单的APP 程序,下面是它的mmp 文件:
TARGET HelloWorldBasic.app
TARGETTYPE app
UID 0x100039CE 0x10005B91
TARGETPATH /system/apps/helloworldbasic
SOURCEPATH ../src
SOURCE HelloWorldBasic.cpp
SOURCE HelloWorldBasicApplication.cpp
SOURCE HelloWorldBasicAppView.cpp
SOURCE HelloWorldBasicAppUi.cpp
SOURCE HelloWorldBasicDocument.cpp
SOURCEPATH ../group
RESOURCE HelloWorldBasic.rss
USERINCLUDE ../inc
SYSTEMINCLUDE /epoc32/include
LIBRARY euser.lib
LIBRARY apparc.lib
LIBRARY cone.lib
LIBRARY eikcore.lib
LIBRARY avkon.lib
编译后我们会得到HelloWorldBasic.app,打包安装后我们可以直接选择运行此程序会看到如下图。
3.4 DLL程序的开发
DLL提供多个入口,由系统或是已存在的线程(进程)调用。有两种类型的DLL, 静态DLL和多态DLL。
静态DLL为其他程序提供方法列表以供调用。当程序启动的链接阶段静态DLL就被读到内存中。
多态DLL为其他程序提供某个固定的方法调用。例如某个GUI应用提供了NewApplication()方法调用以启动应用程序。这些DLL实现抽象的方法,如一个打印机驱动,socket协议或是一个应用程序。它们的扩展名多不是.DLL,而是PRN、PRT 或APP等。它们从与DLL相关的类继承,并通常只有在程序需要它们时才读入。前面的APP程序也算作一个多态DLL。
如果我们要创建的是DLL程序,我们需要在.mmp文件中将程序的TARGET指定为 DLL。如下所示:
TARGET test.dll
TARGETTYPE dll
UID 0x1000008D 0x0CD52435
SOURCEPATH ../src
SOURCE test.cpp
USERINCLUDE ../inc
SYSTEMINCLUDE /epoc32/include
LIBRARY euser.lib
相关文章推荐
- >之编程篇(爆笑)
- java-在Java中操作Zip文件,压缩/解压
- 从JBuilder到Eclipse--几个技巧
- WEB编程防黑点滴(转)
- 常见代码的编写规范(一)---列表数据的显示
- 解析.Net框架下的XML编程技术
- Turbo码简介及其在第三代移动通信中的应用
- 细说Java之util类[转载]
- Java IO编程[转载]
- Java中字符串比较的注意点
- Java中字符串比较的注意点
- Spring中IOC的实现
- Java代码编写的一般性指导
- 一些非常有用的JAVA常用方法(1)
- 解决Struts分页显示
- Spring Framework标记库初学指南
- SpringFramework(2)
- SpringFramework(1)
- Spring 入门
- ASP.NET中利用Crystal Report创建图表