磨刀不误砍柴工-打造超级Symbian开发环境

转载 2006年05月31日 19:02:00

 本文转载自:http://www.sf.org.cn/Article/lumen/200605/18518.html

在开发Symbian C++程序的时候,一个很重要的环节就是选择和配置IDE,当前可供选择的IDE也比较多,例如Microsoft Visual C++ 6.0, CodeWarrior, Borland C++Builder X, Borland C++Builder 6.0, Microsoft Visual Studio .NET 2003。至于选择哪个IDE,主要看个人习惯和你的开发应用领域,这里没有绝对的谁好谁坏,至于如何配置这些IDE,很多Symbian入门帖子都对此进行了讨论。本文主要说一下如何在VC++6.0下,使你的IDE更好用和更有效率。

    作为一个老牌的C++集成开发环境,在开发Symbian应用程序的时候,VC6.0的用户还是很多的,但是如果不自己动手为VC6.0添加点东东,那么就直接使用它则是一个很失败的选择。下面就逐一说明之。

<1>VC6.0在调试Symbian ++程序的时候不能查看描述符变量的数据。解决办法:添加以下内容到你的Microsoft Visual Studio/Common/MSDev98/Bin/AUTOEXP.DAT

//-------添加部分------------------------

/;add parts in order to debug for Symbian S60
TDesC16=$ADDIN(ShowDes.dll,TDesC16_View)
TDesC8=$ADDIN(ShowDes.dll,TDesC8_View)

TInt64 =low=<iLow> high=<iHigh>
TDateTime =day(zero based)=<iDay> mth=<iMonth> yr=<iYear> hr=<iHour> min=<iMinute> sec=<iSecond>.<iMicroSecond>
CActive= iIsActive=<iActive>
CArrayFixBase= iCount=<iCount>
CArrayVarBase= iCount=<iCount>
CBase= <,t>
RHandleBase= <iHandle,x> <,t>
RRegion= Rects=<iCount> Err=<iError> iTl.iX=<iRectangleList->iTl.iX> iTl.iY=<iRectangleList->iTl.iY> iBr.iX=<iRectangleList->iBr.iX> iBr.iY=<iRectangleList->iBr.iY>
TChar=<iChar> <iChar,c>
TLex8= iNext=<iNext,s>
TLex16= iNext=<iNext,su>
TPoint= iX=<iX> iY=<iY>
TRect= iTl.iX=<iTl.iX> iTl.iY=<iTl.iY> iBr.iX=<iBr.iX> iBr.iY=<iBr.iY>
TRegion= numRects=<iCount> Err=<iError>
TRequestStatus= <iStatus>
TSize= iWidth=<iWidth> iHeight=<iHeight>
TTime= iLow=<iTime.iLow,x> iHigh=<iTime.iHigh,x>
TTimeIntervalBase= <iInterval,d> <,t>
TUid= iUid=<iUid>
TStreamId= iVal=<iVal>
TMargins= iLeft=<iLeft> iRight=<iRight> iTop=<iTop> iBottom=<iBottom>
TPageSpec= iOrientation=<iOrientation>
TRgb= R=<iValue&0xff> G=<iValue/256%256)> B=<iValue/65536>
TPointerEvent=iType=<iType>, iPos.iX=<iPosition.iX>, iPos.iY=<iPosition.iY>
TCellRef=iRow=<iRow>, iCol=<iCol>
TRangeRef=iFrom.iRow=<iFrom.iRow>, iFrom.iCol=<iFrom.iCol>, iTo.iRow=<iTo.iRow>, iTo.iCol=<iTo.iCol>
CCoeControl= iPosition=(<iPosition.iX>,<iPosition.iY>) iSize=(<iSize.iWidth>,<iSize.iHeight>)

; Symbian Strings & Descriptors
TDes16=<,t> length=<iLength> max=<iMaxLength>
TDesC16=<,t> length=<iLength>
TPtr=length=<iLength> max=<iMaxLength> ptr=<iPtr+2,su>
TPtr16=length=<iLength> max=<iMaxLength> ptr=<iPtr+2,su>
TPtrC=length=<iLength> ptr=<iPtr,su>
TPtrC16=length=<iLength> ptr=<iPtr,su>
TBuf<*>=length=<iLength> max=<iMaxLength> buf=<iBuf,su>
TBufC<*>=length=<iLength> buffer=<iBuf,su>
HBufC16=length=<iLength> buffer=<iBuf,su>
TLitC<*>=length=<iTypeLength> buf=<iBuf,su>
TDes8=<,t> length=<iLength> max=<iMaxLength>
TDesC8=<,t> length=<iLength>
TPtr8=length=<iLength> max=<iMaxLength> ptr=<iPtr,s>
TPtrC8=length=<iLength> ptr=<iPtr,s>
TBuf8<*>=length=<iLength> max=<iMaxLength> buffer=<iBuf,s>
TBufC8<*>=length=<iLength> buffer=<iBuf,s>
HBufC8=length=<iLength> buffer=<iBuf,su>
TLitC8<*>=length=<iTypeLength> buffer=<iBuf,s>
TFileName= <iBuf,su>
TFullName= <iBuf,su>

<2>VC6.0不支持Symbian的关键字突出显示。解决办法:到www.newLC.com上面搜索USERTYPE.dat这个东东,下载后粘贴在/Microsoft Visual Studio/Common/MSDev98/Bin/下。(当然你也可以打开此文件,添加你想让编译器突出显示的任何类型)。

<3>VC6.0很容易和金山词霸发生冲突导致内存泄漏,从而导致你的VC6.0没有响应。解决办法:到http://www.kingsoft.com/download/36/228.shtml下载金山词霸的补丁,然后安装;或者关闭词霸的屏幕取词。

<4>由于Symbian中的类的名字都比较长,编程时全部用手输入类名或函数名时是一件很费时且效率低的事情。解决办法:下载安装Visual Assist X 插件(找破解版的,否则使用Visual Assist X 有时间限制,很不爽!)

<5>为你的VC6.0打上补丁包,至少sp3吧,否则有时会出现莫名其妙的错误。

<6>在模拟器上调试程序时,有时会碰到这样的错误“Programe Closed xx”,如果没有适当的提示信息,调试这类错误是很麻烦和费力的。解决办法:在epoc32/wins/c/System/Bootdata目录下新建一个ErrRd的文件(无文件名后缀);这样就可以在“Programe Closed ”的下发显示出错误的类型,然后到SDK的Developer Library » API Reference » System panic reference查找对应的错误原因,呵呵,再来调试就轻松多了。

<7>待续.....

呵呵,等你完成以上设置后,再打开你的VC看看,会有另外一番感受的,至少我是这样。^_^!

磨刀不误砍柴工—android应用程序开发环境搭建

这篇文章的主要内容是如何去搭建android应用程序的开发环境。网上有很多这样的文章,甚至我刚开始学习android应用程序开发的时候,也是从网上找了一篇文章,按部就班地把环境搭好的。为什么我还要重复...
  • dbdaf
  • dbdaf
  • 2013年03月17日 14:47
  • 487

Cocos2d-x开发系列 磨刀不误砍柴工

项目初期的一些问题(版本选择、语言选择、环境搭建、一次触控技术交流会问题)...
  • diyal
  • diyal
  • 2015年08月28日 13:55
  • 392

黑马程序员--Java学习日记之eclipse开发工具的熟练使用,磨刀不误砍柴工!

1:用Eclipse写一个HelloWorld案例,最终在控制台输出你的名字  A:创建项目  B:在src目录下创建包。cn.itcast  C:在cn.itcast包下创建类。HelloWorld...
  • Memor_
  • Memor_
  • 2015年06月22日 18:02
  • 435

磨刀不误砍柴工——实验工具准备

写在最前面的话:        后面的一系列博客主要围绕MIT-OS的学习课程来创建;        为什么会学习mit-os?        1)对于复杂的事物,一种常见的思维就是从简单到复杂的思维...
  • yiye_01
  • yiye_01
  • 2015年09月13日 20:14
  • 448

磨刀不误砍柴工-----小菜鸟对代码的认识

相见欢    无计调试代码,心如绞。烦躁菜鸟屋内直发愁! 剪不断,理还乱,怎么办?别是一番滋味在心头!   作者简介:IT小菜鸟,河北廊坊提高班人士   历史背景:2012年夏天...

磨刀不误砍柴工-----为提升自己找到一个平衡点

作为一名软件开发人员,你该如何磨快你的锯子? “磨锯子”实际上是一个代名词,泛指一切编程以外的活动(不必编写代码),而这些活动(理论上来说)能使你成为一名更出色的程序员。这个...

如何使用Unix/Linux find命令 ——磨刀不误砍柴工系列

如何使用Unix/Linux find命令                         ——磨刀不误砍柴工系列 作者:Gary Gao, garygaowork#gmail.com find 命...

我的时间管理回顾——磨刀不误砍柴工

“磨刀不误砍柴工”,是从高中班主任那里第一次听来的这句话,具体什么场合下讲到的现在已经想不起来了。想想现在这篇对于时间管理的回顾更是很有必要了……管理经常听到,但时间管理是从两年多以前听说的了。第一次...

磨刀不误砍柴工!打开软件前应该执行的四个方面

初入行(算上实习)时的我,在接到一个来自产品经理的口头需求后,经常犯、现在也会偶尔复发的一个错误就是粗略了解思索一下,就立刻打开软件投入到对解决方案的探索中去;在需求比较小/项目时间紧急的时候,这样做...
  • sonioo
  • sonioo
  • 2016年06月27日 01:59
  • 144

《代码阅读方法与实践》读后感——磨刀不误砍柴工

感谢本书的作者以及译者,在本书的帮助下,我顺利接手代码                     每个人都有自己的阅读方式、方法和工具,也许改变并不容易。 对于程序员本书算是一本辅助性...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:磨刀不误砍柴工-打造超级Symbian开发环境
举报原因:
原因补充:

(最多只允许输入30个字)