symbian应用程序类型介绍

EXE程序介绍
当我们的应用程序并不需要用户界面,只需要使用一个单独进程的时候,我们可以创建.EXE 程序。.EXE程序包含一个主入口 E32main(),当系统通过 E32main()启动的时候,系统会创建新的进程,并在此进程中创建新的线程。在创建EXE 程序时,我们需要在.mmp文件中将程序的TARGET指定为 EXE 。EXE通常是服务端或命令行程序,通常隐蔽的运行,他没有GUI,不能直接从主菜单运行。

下面是一个最基本的控制台应用程序的MMP文件:
Code:
  
  
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 一类的文件浏览器选择此程序然后运行。

APP程序介绍
当我们创建的应用程序需要使用用户界面的时候,我们需要创建APP程序。一个APP程序可能包括自定义的字符串、菜单项、对话框等。如果我们要创建一个APP程序,我们需要在.mmp文件中将程序的TARGET指定为 APP 。

我们最熟悉的Helloworld 就是一个简单的APP 程序,下面是它的mmp 文件:

Code:
  
  
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,打包安装后我们可以直接选择运行此程序

DLL程序介绍

DLL提供多个入口,由系统或是已存在的线程(进程)调用。
有两种类型的DLL, 静态DLL和多态DLL。

静态DLL为其他程序提供方法列表以供调用。当程序启动的链接阶段静态DLL就被读到内存中。

多态DLL为其他程序提供某个固定的方法调用。例如某个GUI应用提供了NewApplication()方法调用以启动应用程序。这些DLL实现抽象的方法,如一个打印机驱动,socket协议或是一个应用程序。它们的扩展名多不是.DLL,而是PRN、PRT 或APP等。它们从与DLL相关的类继承,并通常只有在程序需要它们时才读入。前面的APP程序也算作一个多态DLL。

如果我们要创建的是DLL程序,我们需要在.mmp文件中将程序的TARGET指定为 DLL。如下所示:

Code:
  
  
TARGET test.dll TARGETTYPE dll UID 0x1000008D 0x0CD52435 SOURCEPATH ../src SOURCE test.cpp USERINCLUDE ../inc SYSTEMINCLUDE /epoc32/include LIBRARY euser.lib



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值