Symbian編譯系統(tǒng)概觀
有很多涉及到編譯過(guò)程的工具.這篇文章里我們僅學(xué)習(xí)一個(gè)最基本的工具編譯一個(gè)簡(jiǎn)單應(yīng)用程序的過(guò)程(針對(duì)Series 60和UIQ).
本文引用地址:http://2s4d.com/article/201610/305808.htm命令行工具
第一個(gè)涉及到的工具就是bldmake:這個(gè)工具可以創(chuàng)建一個(gè)命令文件,你將用到這個(gè)文件來(lái)編譯并連接你的應(yīng)用程序(abld).
Bldmake需要bld.inf文件來(lái)完成這些工作
Abld.bat文件是應(yīng)用程序編譯的入口點(diǎn).
依據(jù)你傳遞給abld命令的參數(shù).將會(huì)產(chǎn)生如下文件:一個(gè)Visual C++工作區(qū)和項(xiàng)目文件(abld makefile vc6),一個(gè)Windows模擬器應(yīng)用程序(abld build wins udeb)或一個(gè)真實(shí)Symbian設(shè)備的應(yīng)用程序(abld build thumb urel).
VC6和Wins參數(shù)可以見(jiàn)名知義(VC6=Visual C++6,Wins=Windows).udeb則意味著”Unicode-Debug”,urel表示”Unicode-Release”.Unicode是一個(gè)字符編碼格式(有些類(lèi)似ASCII但Unicode允許外文字符編碼(包括漢語(yǔ))).Debug的意思是你將會(huì)產(chǎn)生關(guān)于你的應(yīng)用程序的調(diào)試信息(大概是模擬器的版本信息),發(fā)布到真實(shí)設(shè)備上時(shí)將不會(huì)包含調(diào)試信息(已經(jīng)發(fā)布了就不會(huì)再需要調(diào)試了)
需要在手機(jī)上調(diào)試代碼或跟蹤執(zhí)行過(guò)程?RFileLogger也許可以幫助你.這個(gè)class的功能非常強(qiáng)大而且很容易使用.
首先聲明一個(gè)文件日志的連接并且創(chuàng)建一個(gè)log文件
//打開(kāi)日志文件服務(wù)的連接 RFileLogger iLog; iLog.Connect(); iLog.CreateLog(_L(MyLoggingDirectory),_L(MyLogFile),EFileLoggingModeOverwrite); //... //關(guān)閉log文件和服務(wù)器連接 iLog.CloseLog(); iLog.Close(); |
第3行的CreateLog函數(shù)有三個(gè)參數(shù):
Log路徑
Log文件名
記錄模式 (EFileLoggingModeOverwrite|EFileLoggingModeAppend)
例如下列代碼,是我的log文件的full path(手機(jī)上的文件系統(tǒng))
C:/Logs/MyLoggingDirectory/MyLogFile.
對(duì)我來(lái)說(shuō),我習(xí)慣把opening代碼放到我希望跟蹤的class的ConstructL()函數(shù)里面,然后在析構(gòu)函數(shù)里closing.在真正編碼時(shí),你最好檢測(cè)一下Connect和CreateLog是否返回了KErrNone.
一旦你完成了這些,你就可以向log文件中輸入文本和數(shù)據(jù)了?;镜拿顬椋?/p>
命令 | 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 |
評(píng)論