开发Series 60项目的时候你可以使用的各种选项总结在表1-1中。Symbian、Nokia和开发工具厂商Borland、Metrowerks正在提供更多的选择。但是,好像微软开发工具,尽管它目前可行并被广泛地使用,在可预见的未来无法受到支持。

  在微软、Borland和Metrowerks的多种IDE的功能之间目前有一些值得注意的差别。对后两种开发环境的增强正在进行之中。EMCC软件有限公司把所有的三种厂商的IDE都作为自己开发活动的基础。我们也每天使用命令行工具——并不是因为我们原意,而是由于我们目前只能这样做。这是为目标设备建立程序和自动化通宵编译过程的基本操作。C++BuilderX和CodeWarrior IDE现在可以用于为目标设备建立程序——但并不是所有的基本的建立操作都受到全部IDE的支持。

  在写作本文的时候,开发任何Series 60项目的最容易的和最通用的出发点是定义一对bld.inf和.mmp项目文件。在EMCC软件公司,这些文件用于任何特定IDE项目文件的生成过程,并且可以在任何需要的命令行建立过程中使用。这种方法也是Symbian和Nokia在它们的SDK和文档中提供的每个简单的项目目前所采用的方法。在目前情况不断变化的情况下使用专用的IDE是不可行的。各种情况很快就会发生变化,而这正式Symbian OS和Series 60开发人员的真实生活。

                 表1-1.基于PC的开发选项综合


选项

描述

命令行建立操作

使用Symbian OS工具进行编译和链接,使用微软Visual C++编译器/链接器为模拟器进行建立操作,从命令行调用。模拟器也可以从命令行调用。PC模拟器上的源代码层的调试需要在IDE中进行。

从命令行提示符调用用于ARM目标设备的GNU C++的跨平台编译器和链接器。


微软Visual C++ IDE

在IDE中使用微软Visual C++编译器/链接器为模拟器建立操作进行编译和链接。

从命令行提示符调用用于ARM目标设备的GNU C++的跨平台编译器和链接器。


Borland C++ IDE

目前两种IDE选择都可以使用。两者都在IDE之中使用Borland C++编译器和链接器进行模拟器建立操作。

从命令行提示符调用用于ARM目标设备的GNU C++的跨平台编译器和链接器。


Metrowerks CodeWarrior C++ IDE

在IDE内部使用Metrowerks编译器和链接器进行模拟器建立操作。

直接从命令行或CodeWarrior IDE内部调用ARM目标设备建立操作所需要的GNU跨平台编译器和链接器。

  在本文的剩余部分中,我们使用HelloWorld示例项目来演示Series 60模拟器的开发、调试和部署过程的所有步骤。

  我们也提供了示例应用程序需要的其它的所有文件——例如头文件(.h)、源文件(.cpp)和用户界面资源文件(.rss)。

  你可以使用Series 60模拟器测试该应用程序,或者在某个IDE中启动它,或者从命令行提示符上运行它。但是,在模拟器上调试应用程序必须在IDE内部进行。

  在模拟器上开发、运行、测试和调试应用程序之后,一般你都希望在目标设备上建立和运行该程序。因此我们还演示了如何为目标设备建立示例应用程序,如何部署它,并在目标Series 60硬件上运行它。  Series 60模拟器

  Series 60应用程序的开发、调试和最初的测试一般都在PC模拟器上进行,该模拟器提供了一种基于微软Windows的Series 60设备的实现。在大多数情形中你会发现基于模拟器的开发过程与在真实的设备上运行的应用程序的操作是非常相似的;因此你的主要工作在硬件设备可以使用之前就可以进行了。模拟器的精确界面与提供的图形会有很大的不同,它依赖于你使用的目标平台、Series 60的版本和所选择的IDE。此外,还可能添加或删除一些按钮或其它的操作元素以模拟现实的设备的配置。同样,模拟器上可以使用的应用程序也依赖于平台的版本和设备厂商的选择。

  模拟器和真实的设备之间有些差异无法避免。真实的Series 60设备可能带有硬件附件(例如照相头)和其它特性(例如后台振动)。因此有时候硬件对于开发和测试是必要的。此外,基于PC的模拟器不能精确地模拟精确计时、应用程序性能和内存管理的问题。

  对于基于PC的开发,编辑/编译/建立周期是基于微软Windows开发工具集的。但是,与依赖Win32或MFC类库进行链接和建立不同,开发者将依赖于Series 60 SDK安装的头文件和PC格式的类库来进行链接和建立。作为结果的Windows格式的二进制可执行文件就可以在以PC的模拟器上运行了。

  在开发过程中,特定IDE的项目文件管理着所有的链接和建立细节信息。它同时确保了建立操作的所有输出和其它需要的资源文件(例如应用程序资源文件)都被放到了适当的位置以供在模拟器环境下进行运行和调试。

  根据图1-2,Series 60显示屏逻辑上被分成三个区域:状态块、主块和控制块。


图1-2. Series 60模拟器

  状态块是屏幕顶部的刻度条(在模拟器上是蓝色的)加上它上面的区域。主块是屏幕中间的,位于状态条和屏幕底部之间的软按键(soft key)标签之间的部分。控制块是紧接着主快,包含了软按键标签。

  状态块可以显示当前应用程序的信息和设备的一些普通信息(例如信号强度和电池情况)。它在大多数情形中是可视的,但是有时候是隐藏的。例如很多游戏就使用了整个屏幕。

  主块是屏幕的主要区域,应用程序可以在这儿显示数据。典型情况下,这个区域作为客户端矩形引用,它通常被应用程序的数据显示所填满。

  控制块占据了屏幕的下部,它显示了与两个软按键相关的标签,并根据需要显示滚动条。与状态块类似,控制块有时候也可以隐藏。在这种情况下,在Series 60中样式指导假定用户可以使用Options菜单(左边的软按键的默认的标签),即使它是不可视的(请参考Series 60 SDK文档提供的“Nokia Series 60游戏UI样式指导”)。

  控制块下面的两个按钮分别是左和右软按键,用于选择当前关联的Options菜单或标记的操作。四路导航按键可以上下左右滚动,如果按下(点击)中间就可以进行选择。

  你可以通过PC鼠标或光标按键在显示屏上的对象之间进行导航,从而与模拟器交互操作。我们可以直接地使用鼠标点击来选择文件夹或其它显示的对象,而不需要使用四路导航按键(仅仅在模拟器上可行)。我们可以使用PC键盘进行数据输入,或者通过点击模拟器上的12位键区来输入。因此与模拟器的交互操作是类似于、但并不是完全与使用真实的Series 60一样的——在真实的设备上没有笔输入,因此所有的移动和选择都是通过光标导航完成的。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-126121/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-126121/

[组图]C++ SDK和Symbian开发入门之工具(转)相关推荐

  1. 安信可PB-03蓝牙模组入门之旅 二:SDK二次开发入门,认识架构,开始点亮一盏LED。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 安信可PB-03蓝牙模组入门之旅一:Windows SDK二次 ...

  2. Symbian开发入门

    原文地址: http://www.360doc.com/content/070530/15/13049_529351.html 1.      Symbian简介 1.1       Symbian起 ...

  3. [转贴]Symbian开发入门 - UIQ开发教程

    文章作者:无双: 原发处:loveunix.net 欢迎转载,但是保留原作者与发表网站 保留版权声明 文章作者:无双: 原发处:loveunix.net 欢迎转载,但是保留原作者与发表网站 保留版权声 ...

  4. Symbian开发入门(一) symbian简介

    随着3G网络的建设,智能手机将更普及.其中的个人发展机会将更大,因此选定Symbian来学习.一下记录了学习的过程和心得.<结合网络资料和书籍整合自己的经验> 说起Symbian我们必须提 ...

  5. Symbian开发入门学习

    一.SymbianOS的六大特性 1.操作系统是运行在ROM上的 2.系统是运行在电池驱动的设备上的 3.完全是面向对象的 4.基于组件的设计 5.被设计成确保用户的数据不会丢失 6.简单的UI系统 ...

  6. 被世界开源界评为“awesome” ESP系列模组开源资料整理,各种开发固件,工具,酷炫的开源项目,库文件都有

    精选 ESP8266/32 开源项目和 开源 代码列表 (链接已从 GitHub 替换为国内服务器 gitee 码云 链接) : ESP8266ESP32码云链接https://gitee.com/j ...

  7. Symbian开发系列 - 入门篇

    要开始我的Symbian开发之旅了, 先收集一些相关资料,如Symbian概述, 开发平台搭建, 参考书籍与网络资源. [基础] 什么是Symbian 学习Symbian的基本概念  Symbian操 ...

  8. 以太坊开发入门--相关知识点说明

    架构 应用层 钱包-METAMASK 水龙头: 一.Ropsten测试网络 https://faucet.egorfine.com/ 每个地址每天只能获取一次 二.Kovan测试网 https://e ...

  9. Symbian和C++ SDK开发入门之部署

    传递到目标硬件上的应用程序的形式为Symbian安装系统(.sis)文件..sis文件是一个压缩的存档文件,它包含了安装所需要的所有文件,还包括了安装过程的选项信息.Symbian安装系统为把应用程序 ...

最新文章

  1. 科学计算工具NumPy(1):ndarray的创建于数据类型
  2. linux 非交互ssh sshpass简介
  3. JVM - 结合代码示例彻底搞懂Java内存区域_线程栈 | 本地方法栈 | 程序计数器
  4. NLP之ASR:语音识别技术(Automatic Speech Recognition)的简介、发展历史、案例应用之详细攻略
  5. 【工具】jira + dingding 任务状态改变发送自定义消息
  6. RedHat虚拟机Vmware Tools的安装教程
  7. git关闭密码自动存储_项目在 git 里怎样合理的保存配置文件(服务器密码等敏感内容)...
  8. 《中国机长》和《我和我的祖国》合计票房破31亿 两片贡献国庆档八成票房
  9. Sketch UX套件,用于线框图和原型制作
  10. 20155307 2016-2017-2 《Java程序设计》第4周学习总结
  11. jmeter报“msg“:“Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“的解决方法
  12. mysql集群搭建.pdf,内容太过真实
  13. multisim中pwl_Multisim 14电路设计与仿真
  14. 学习笔记︱Nvidia DIGITS网页版深度学习框架——深度学习版SPSS
  15. linux 通过关键字查询到进程,并kill掉
  16. mpeg怎么转换成mp4?
  17. 什么是X86和X86-64
  18. 5首2021一些流行好听歌曲的吉他和弦
  19. 北大核心2020_2020年北大核心论文如何发表
  20. 微信公众平台开发——引言

热门文章

  1. [附源码]计算机毕业设计springboot体育馆场地预约管理系统
  2. javascript sm2 sm3 sm4 国密库
  3. 如何在arduino上使用315 mhz的发射模块和接收模块P1
  4. JAVA变量与数据类型
  5. 聚合函数,数学、字符串、函数,时间日期函数
  6. 图解互联网+与云计算,物联网,大数据的关系
  7. LCR表和万用表有什么区别?
  8. 修复登录接口仿抽奖助手微信小程序源码下载-支持商家认证多种开奖方式
  9. 深度学习的发展历史及应用现状
  10. 移植mpt3sas驱动