当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 有很多涉及到编译过程的工具.这篇文章里我们仅学习一个最基本的工具编译一个简单应用程序的过程(针对Series 60和UIQ).命令行工具第一个涉及到的工具就是bldmake:这个工具可

 有很多涉及到编译过程的工具.这篇文章里我们仅学习一个最基本的工具编译一个简单应用程序的过程(针对Series 60和UIQ).

命令行工具

第一个涉及到的工具就是bldmake:这个工具可以创建一个命令文件,你将用到这个文件来编译并连接你的应用程序(abld).

Bldmake需要bld.inf文件来完成这些工作

Abld.bat文件是应用程序编译的入口点.

依据你传递给abld命令的参数.将会产生如下文件:一个Visual C++工作区和项目文件(abld makefile vc6),一个Windows模拟器应用程序(abld build wins udeb)或一个真实Symbian设备的应用程序(abld build thumb urel).

VC6和Wins参数可以见名知义(VC6=Visual C++6,Wins=Windows).udeb则意味着”Unicode-Debug”,urel表示”Unicode-Release”.Unicode是一个字符编码格式(有些类似ASCII但Unicode允许外文字符编码(包括汉语)).Debug的意思是你将会产生关于你的应用程序的调试信息(大概是模拟器的版本信息),发布到真实设备上时将不会包含调试信息(已经发布了就不会再需要调试了)

需要在手机上调试代码或跟踪执行过程?RFileLogger也许可以帮助你.这个class的功能非常强大而且很容易使用.

首先声明一个文件日志的连接并且创建一个log文件

//打开日志文件服务的连接

RFileLogger iLog;

iLog.Connect();

iLog.CreateLog(_L("MyLoggingDirectory"),_L("MyLogFile"),EFileLoggingModeOverwrite);

//...

//关闭log文件和服务器连接

iLog.CloseLog();

iLog.Close();

第3行的CreateLog函数有三个参数:

Log路径

Log文件名

记录模式 (EFileLoggingModeOverwrite|EFileLoggingModeAppend)

例如下列代码,是我的log文件的full path(手机上的文件系统)

C:/Logs/MyLoggingDirectory/MyLogFile.

对我来说,我习惯把opening代码放到我希望跟踪的class的ConstructL()函数里面,然后在析构函数里closing.在真正编码时,你最好检测一下Connect和CreateLog是否返回了KErrNone.

一旦你完成了这些,你就可以向log文件中输入文本和数据了。基本的命令为:

命令

Log文件

iLog.Write(_L("Hello World"))

11/07/2003 4:00:13 Hello World

iLog.WriteFormat(_L("Result=%d"),err)

11/07/2003 4:00:13 Result=0

iLog.HexDump(aHeader,aHeader,myPtr,4)

11/07/2003 4:00:13 myBuf:0000: 41 42 00 44 AB.D

[!--empirenews.page--]

要是不希望记录日期和时间,你可以使用这条语句来关闭它们。

iLog.SetDateAndTime(TBool aUseDate, TBool aUseTime)

别忘了在MMP文件上加入flogger.lib,还有包含flogger.h头文件。现在可以编译执行你的程序了。

Stop!log文件还没建立呢!正确!这没办法在代码里完成,我们只能手工在C:/Logs/MyLoggingDirectory目录中创建log文件,否则什么日志也不会记录。不需要重新编译

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

多数受访粉丝认为,AI驱动的功能会对他们观看体育赛事的方式产生重大影响 超过半数的受访者希望通过AI技术获得对过去、现在和未来体育赛事的评论和分析 移动体育应用...

关键字: IBM AI 应用程序 移动

青岛 2025年5月23日 /美通社/ -- 全球领先的消费电子和家电品牌海信今天宣布将谷歌全新Home API集成至其ConnectLife应用程序。今年秋季前,用户可通过该应用程序将第三方智能家居设备接入Conne...

关键字: API NEC 海信 应用程序

-Arya.ai推出MCP应用程序,将通用LLM转化为特定领域专家 印度孟买和纽约 2025年5月13日 /美通社/ -- Arya.ai今天宣布推出APEX MCP(模...

关键字: MCP 应用程序 AI 人工智能

北京2025年1月15日 /美通社/ -- 2025年1月8日,STIF第五届国际科创节暨新质生产力领航者峰会在北京举行。作为科技创新与数字化服务领域最具影响力的年度盛会之一,本届大会汇聚全球科创品牌,旨在通过构建多元、...

关键字: 数字化 APP 互联网 应用程序

推动技术创新与业务增长 北京2024年12月19日 /美通社/ -- 在亚马逊云科技2024 re:Invent全球大会上,亚马逊云科技与东南亚领先的超级应用程序Grab共同宣布,Grab已选择亚马逊云科技为首选云服务...

关键字: 亚马逊 应用程序 云服务 AI技术

Amazon Aurora DSQL是一款性能卓越的分布式SQL数据库,具备99.999%的多区域可用性、几乎无限的可扩展性、强一致性,且完全消除了基础设施管理的负担。 北京2024年12月13日 /美通社/ -- 亚...

关键字: 亚马逊 分布式 SQL数据库 应用程序

为数据、分析和AI提供统一平台 北京2024年12月10日 /美通社/ -- 亚马逊云科技在2024 re:Invent全球大会上,宣布推出新一代Amazon SageMaker,将客户所需的快速SQL分析、PB级大数...

关键字: 亚马逊 MAKER GE 应用程序

随着嵌入式系统的发展,从裸机应用程序迁移到实时操作系统(RTOS)已成为提升系统性能、可靠性和可维护性的重要趋势。RTOS为多任务处理、资源管理和实时响应提供了强大的支持,使得开发者能够构建更复杂、更高效的系统。本文将深...

关键字: RTOS 应用程序

印度班加罗尔2024年9月10日 /美通社/ -- 随着电动汽车(EV)市场的发展,许多人仍然因为“里程焦虑”(害怕在需要时找不到充电桩)而持观望态度。尽管对可持续出行的需求不断上升,但这已经减缓了汽车制造商电动汽车的销...

关键字: 电动汽车 充电桩 电网 应用程序

波兰最大银行的移动应用程序拥有800万用户,现将数字个性化银行服务扩展至机动车领域 波兰华沙2024年9月5日 /美通社/ -- 全球领先的财富500强技术服务供应商DXC Technology正与波兰最大银行PKO...

关键字: 应用程序 TECHNOLOGY Android 移动应用
关闭