当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 有很多涉及到编译过程的工具.这篇文章里我们仅学习一个最基本的工具编译一个简单应用程序的过程(针对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文件,否则什么日志也不会记录。不需要重新编译

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

C语言是一种广泛应用于软件开发领域的编程语言。它是由贝尔实验室的Dennis Ritchie在20世纪70年代初创建的,旨在为UNIX操作系统的开发提供一种高级编程语言。C语言具有简洁、高效、可移植性强等特点,因此成为了...

关键字: C语言 操作系统 应用程序

洛杉矶、马德里和墨西哥城2023年8月30日 /美通社/ -- 如今,父母和看护者越来越担心孩子们的屏幕暴露和屏幕互动。 为指导父母为家人做出理想的屏幕时间决策,排名第一的儿...

关键字: LINGO BSP 应用程序 COM

瓦努阿图维拉港2023年8月28日 /美通社/ -- Vantage(或"Vantage Markets")欣然宣布在Vantage应用程序上推...

关键字: GE AN 信号 应用程序

(全球TMT2023年8月14日讯)亚马逊云科技日前宣布在以色列(特拉维夫)推出亚马逊云科技基础设施区域。亚马逊云科技的区域由一个地理区域内的多个相互独立、且在物理上分隔的可用区组成。亚马逊云科技以色列(特拉维夫)区域...

关键字: 亚马逊 应用程序 开发者 数据中心

北京——2023年8月14日 亚马逊云科技日前宣布在以色列(特拉维夫)推出亚马逊云科技基础设施区域。新的亚马逊云科技区域将为开发者、初创公司、创业人士和企业,以及政府机构、教育和非营利组织提供更多运行其应用程序的选择,他...

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

据业内消息,近日国家工信部印发了《工业和信息化部关于开展移动互联网应用程序备案工作的通知》,并表示在广泛征集APP主办者等互联网信息服务提供者、网络接入服务提供者、应用分发平台、智能终端生产企业等各方意见的基础上,组织开...

关键字: 工信部 应用程序 App 小程序

Amazon Entity Resolution利用机器学习帮助企业匹配和连接存储在多个应用程序、渠道和数据存储系统中的记录 ActionIQ、Amazon Ads、Best Western、LiveRamp、...

关键字: RESOLUTION 亚马逊 机器学习 应用程序

提供单一窗口、端到端解决方案,实现按需、实时、可靠和可扩展的多云连接;为下一代全球企业带来快速、无缝、智能的连接 印度孟买2023年8月4日 /美通社/ -- 全球数字生态系统推动者Tata Communication...

关键字: COMMUNICATIONS MULTI NEC 应用程序

移位寄存器有不同的版本,可用于各种各样的应用程序。本文将向您介绍移位寄存器并说明它们的工作原理。此外,它还将解释如何将它们用于将多条并行数据线转换为单个串行连接。

关键字: 移位寄存器 串行 应用程序

Telkomsel 是印度尼西亚运营商的领先者,拥有 1.7 亿用户,在使用了 SoftAtHome 的"Eyes'ON"解决方案之后,其用户的移动体验与服务质量都得到了...

关键字: TE SE BSP 应用程序
关闭
关闭