轉載于:
http://www./Article/lumen/200605/18518.html 在開發(fā)
Symbian C++程序的時候,一個很重要的環(huán)節(jié)就是選擇和配置IDE,當前可供選擇的IDE也比較多,例如Microsoft Visual C++ 6.0, CodeWarrior, Borland C++Builder X, Borland C++Builder 6.0, Microsoft Visual Studio .NET 2003。至于選擇哪個IDE,主要看個人習慣和你的開發(fā)應用領域,這里沒有絕對的誰好誰壞,至于如何配置這些IDE,很多
Symbian入門帖子都對此進行了討論。本文主要說一下如何在
VC++6.0下,使你的IDE更好用和更有效率。
作為一個老牌的C++集成開發(fā)環(huán)境,在開發(fā)Symbian應用程序的時候,VC6.0的用戶還是很多的,但是如果不自己動手為VC6.0添加點東東,那么就直接使用它則是一個很失敗的選擇。下面就逐一說明之。
<1>VC6.0在調(diào)試Symbian ++程序的時候不能查看描述符變量的數(shù)據(jù)。解決辦法:添加以下內(nèi)容到你的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很容易和金山詞霸發(fā)生沖突導致內(nèi)存泄漏,從而導致你的VC6.0沒有響應。解決辦法:到http://www./download/36/228.shtml下載金山詞霸的補丁,然后安裝;或者關閉詞霸的屏幕取詞。
<4>由于Symbian中的類的名字都比較長,編程時全部用手輸入類名或函數(shù)名時是一件很費時且效率低的事情。解決辦法:下載安裝Visual Assist X 插件(找破解版的,否則使用Visual Assist X 有時間限制,很不爽?。?/p>
<5>為你的VC6.0打上補丁包,至少sp3吧,否則有時會出現(xiàn)莫名其妙的錯誤。
<6>在模擬器上調(diào)試程序時,有時會碰到這樣的錯誤“Programe Closed xx”,如果沒有適當?shù)奶崾拘畔?,調(diào)試這類錯誤是很麻煩和費力的。解決辦法:在epoc32\wins\c\System\Bootdata目錄下新建一個ErrRd的文件(無文件名后綴);這樣就可以在“Programe Closed ”的下發(fā)顯示出錯誤的類型,然后到SDK的Developer?Library API?Reference System?panic?reference查找對應的錯誤原因,呵呵,再來調(diào)試就輕松多了。
<7>待續(xù).....
呵呵,等你完成以上設置后,再打開你的VC看看,會有另外一番感受的,至少我是這樣。^_^!