本文主要是介绍在Codewarrior 3.x中集成LeaveScan(转),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在symbian os中,对于可能发生异常退出的函数,它的名字必须加以“L”后缀。对此symbian os 提供了一个工具LeaveScan。LeaveScan 可以检查代码中没有被正确命名的异常退出函数。以下文章翻译自:
http://newlc.com/Integrating-LeaveScan-into.html
1、下载LeaveScan
可以在Symbian web site上下载该工具。下载并将其安装在如下列目录:
C:/Program Files/Symbian OS Tools/LeaveScan
同样的方法可以用于集成使用SymScan,但这又是一个冗长的话题。
2、在Codewarrior中创建工具入口
进入你Codewarrior3.1的默认安装目录,文件应当在
C:/Program Files/Nokia/CodeWarrior for Symbian v3.1/Bin/Plugins/Support/CompilerDescriptors/Symbian/
目录下。找到Nokia x86 Compiler.cwcomp,对其做一个拷贝命名为LeaveScan.cwcomp。用一个文本编辑器打开文件“LeaveScan.cwcomp”并做如下改动:
在文件中找到下述文本(在88行附近):
...
<!-- End of Compiler Definition -->
<struct>
...
在“End of Compiler Definition”右侧,加入以下文本
<struct>
<!-- +++++++++++++++Leave Scan++++++++++++++ -->
<setting uuid-alias="." entry="toolSymbolicCommandDef">
<simple>${var:TOOL_NAME} "${source.name}"</simple>
</setting>
<setting uuid-alias="." entry="toolType">
<simple>kToolLeaveScan</simple>
</setting>
<setting uuid-alias="." entry="toolDisplayName">
<simple>Symbian Leave Scan tool</simple>
</setting>
<setting uuid-alias="." entry="toolExecutableName">
<simple>C:/Program Files/Symbian OS Tools/LeaveScan/leavescan.exe</simple>
</setting>
<setting uuid-alias="." entry="parseStdOut">
<simple>true</simple>
</setting>
<setting uuid-alias="." entry="parseStdErr">
<simple>false</simple>
</setting>
<setting uuid-alias="." entry="defaultSwitch">
<simple></simple>
</setting>
<setting uuid-alias="." entry="outputParser">
<simple>kGCCMessageFormatParser</simple>
</setting>
</struct>
这样就添加了一个工具调用定义,其可以在编译时执行
3、安装新工具
在同一文件中,找到下述文本(51行)
<setting uuid-alias="." entry="postActionIdentifiers">
<array inheritance="none">
<simple>kToolSize</simple>
</array>
</setting>
在KTookSize调用后添加一行:
<simple>kToolLeaveScan</simple> :
The new block shall now look like:
<setting uuid-alias="." entry="postActionIdentifiers">
<array inheritance="none">
<simple>kToolSize</simple>
<simple>kToolLeaveScan</simple>
</array>
</setting>
这样你就可以在调用编译器及Size tool成功后调用LeaveScan工具了。
现在你可以保存文件并选择你所安装的工具。
4、安装你的目标工程
打开项目的 WINSCW目标设置窗口,找到Code Generation | Symbian Compiler选项,将编译器的选项从Nokia x86 Compiler 变为 LeaveScan。
一行警告信息会发表如何一个可能异常退出的函数没有加上L后缀:
5、享用这一切…
…或修改你的程序,现在你将没有借口解释你那些缺少名字定义的函数了!
这篇关于在Codewarrior 3.x中集成LeaveScan(转)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!