青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

(1)模擬器里面測試的程序如何刪除?
for s60 2nd平臺:
刪除/epoc32/release/wins/udeb/z/system/apps/myapp的目錄即可
for s60 3rd平臺:
a、刪除/epoc32/release/winscw/udeb/myapp.exe
b、刪除/epoc32/release/winscw/udeb/z/private/10003a3f/appmyapp_reg.rsc
c、刪除/epoc32/release/winscw/udeb/z/resource/apps/myapp_aif.mif
d、刪除/epoc32/data/z/resource/apps/myapp.rsc
(2)生成log文件的方法
for s60 2nd/3rd都是一樣的方法,使用RFileLogger類,這個類與nokia無關,是
symbian os提供的記錄log的方法。
在需要打印log的cpp文件中添加:
#include <flogger.h>
在mmp文件中添加
LIBRARY flogger.lib
手機的存儲中創建目錄C:\Logs\目錄,然后把自己想要的subfolder目錄也創建
出來,對于s60 2nd平臺,直接用fexplorer或者system explorer在手機上創建
即可,對于s60 3rd平臺,就沒那么簡單了,內置瀏覽器看不到,需要裝y-browser
才能看到,至于目錄,可以用BaflUtils類來判斷一下是否存在。
使用方法:
RFileLogger flog ;
// 連接那個RFs 
flog.Connect() ;
// 創建log,將保存在c:\Logs\subfolder\mylog.log(這個subfolder需要手工創建)
flog.CreateLog(_L("subfolder", _L("mylog.log", EFileLoggingModeOverwrite) ;  
// 具體使用查一下文檔
flog.Write(xxxx) ; 
// 類似TBuf的FormatL的語法
flog.WriteFormat(xxxx) ;
// 剩下的就是關閉方面的動作了 
flog.CloseLog() ;
flog.Close() ; 
(3)s60 2nd/3rd模擬器聯網問題
s60 2nd比較麻煩,需要下載prnesock.lib和prnesock.dll,這兩個都需要拷貝到目錄
/epoc32/release/wins/udeb/
(我上傳了這兩個文件,就在下面)
下面,然后在mmp文件中添加如下條件編譯代碼:
#if defined(WINS)
LIBRARY prnesock.lib
#else
LIBRARY esock.lib
#endif
在自己的實際代碼中,涉及到接入點以及RConnection操作的都要用
#ifndef __WINS__ 或者 #ifndef __WINSCW__
#endif
給括起來,直接調用iSocketServ.Connect()即可實現在模擬器上利用win32的socket
連網和單步調試。

(4)s60 2nd程序中查找全局變量的方法
在mmp文件中添加:
OPTION  GCC  -save-temps
就會看到很多.S和.ii的文件,在里面查找是否含有.bss就可以知道你在哪里使用了
全局變量,.bss段的變量名稱,就是全局變量的名稱。
(5)s60 3rd模擬器啟動以后總是NCNList KERN-EXEC 3 panic解決
這是s60 3rd fp1 sdk的emulator的bug,這個ncnlist是由于
New Message Notification API包不支持導致的。可以通過打上nokia的補丁解決。
這個API主要是為MTM編寫者使用的(恰好影響到偶的開發),常規的application開發者


(6)s60 3rd得到自簽名cert的生成方法
makekeys -cert -password yourpassword -len 512 -dname "CN=yourname OR=yourname" yourkey.key yourcert.cer
使用的時候,可以用如下命令:
signsis xxxx.sis xxxx.sisx yourcert.cer youkey.key yourpassword
這種方法得到的簽名只能夠具有basic capabilities:
LocalServices, UserEnvironment, NetworkServices, ReadUserData,
WriteUserData
(7)s60 3rd使用publisher id以后的cert可以得到的capabilities
Basic Cap:

LocalServices, UserEnvironment, NetworkServices, ReadUserData,
WriteUserData
Extended Cap:
Location, SwEvent, SurroundingsDD, ProtServ, PowerMgmt, ReadDeviceData
WriteDeviceData, TrustedUI, NetworkControl, MultimediaDD, CommDD, 
得不到的有(其實也能得到,但是需要進一步跟設備廠商聯系):
AllFiles, DRM, TCB, DiskAdmin
(8)s60 3rd修改stack和heap默認大小的方法
在project的mmp文件中添加下面的定義即可:
EPOCSTACKSIZE 0x2800
EPOCHEAPSIZE 0x1000 0x32000
前一個值是heap的最小值,后一個是最大值。
或者可以在代碼中動態修改堆的大小,在projectname.cpp文件中找到E32Main函數
GLDEF_C TInt E32Main()
{
RHeap * heap = UserHeap::ChunkHeap(NULL,0x200000,0x300000) ;
User::SwitchHeap(heap);
return EikStart::RunApplication( NewApplication );
}
使用User::SwitchHeap()函數來獲得相對大一些的系統堆大小。
(9)s60 2nd/3rd的結構體字節對齊問題
注意,在這里由于symbian os用的是gcce的修改版,所以標準c++的那一套
#pragama pack([n])
這種在win mobile上面工作良好的編譯預處理,在armi或gcce版本中會被編譯器忽略。
解決方案是在頭文件中添加:
#if defined(__WINS__)
#define PACKED
#else
#define PACKED __attribute__((packed, aligned(1)))
#endif
在結構體定義中添加:
typedef struct _AABBCC_ {
    TUint  a ; 
    TUint8 b ; 
} PACKED AABBCC ; 
而且,如果決定要處理字節對齊的話,最好所有的結構體都采用字節對齊的定義方式。
(10)關于Carbide C++的快捷鍵問題
編輯相關
Ctrl+ ↓ Ctrl+↑ 在編輯區上下滾動(滾動滑塊)
Ctrl+ ← Ctrl + → 向前向后移動一個單詞
Ctrl+ Shift + ↓ Ctrl+ Shift + ↑ 向上向下移動一個段落(可以方便的在函數方法中滾動)
Ctrl+G 搜索工作區中的聲明
Ctrl+ Shift +G 搜索所有引用
Ctrl+ Shift +S 保存所有文檔
Ctrl+F 查找替換
Ctrl + J 增量查找(根據動態鍵盤輸入進行動態匹配)
Ctrl + k 查找替換下一個
Ctrl + L 轉到指定的行號
Ctrl+ Shift + F4 關閉所有編輯窗口
Ctrl + SHIFT + P 匹配對應的括號
CTRL+SHIFT+X 將選中的小寫轉換為大寫
CTRL+SHIFT+Y 將選中的大寫轉換為小寫
Ctrl+M 將當前窗口在最小化和最大化之間切換
Ctrl+Q 定義最后編輯的地方
Ctrl+O 快速顯示 OutLine
Ctrl+K 參照選中的Word快速定位到下一個
Ctrl+E 快速顯示當前Editer的下拉列表
Ctrl+` 在c/c++中非常有用的功能 打開相關的源文件或頭文件
Ctrl+D 刪除當前行
Ctrl+Alt+↓ 復制當前行到下一行(復制增加)
Ctrl+Alt+↑ 復制當前行到上一行(復制增加)
Alt+↓ 當前行和下面一行交換位置(特別實用,可以省去先剪切,再粘貼了)
Alt+↑ 當前行和上面一行交換位置(同上)
編譯、運行
Ctrl+B - 重新編譯所有項目.
F11 - 調試(Debug)當前項目.
Ctrl+F11 - 運行當前項目.
Ctrl+. and Ctrl., - 轉到下一個/前一個提示項目。當編譯器為我們生成了很多編譯警告等信息的時候,這個功能將發揮區大的作用。
Ctrl+Shift+B - 切換當前行的斷點狀態。注意,該快捷鍵僅僅在調試界面下是可用的,在Symbian開發界面下是不可用的。
Ctrl+Alt+B 程序編輯目標項目
調試
F5 - 進入當前行函數.
F6 - 執行當前行.
F8 - 繼續執行.
Ctrl+R - 執行到當前行.
重構相關
Alt + shift + r - 變量名函數名重構
閱讀源碼
F3 - 查看變量的聲明
F4 - 查看某類的繼承層次關系
Ctrl + T 快速查看類的繼承關系
導航相關
F2 - 使編輯視圖獲得焦點
ALT+SHIFT+W 當焦點在編輯區的時候顯示源文件的導航視圖(Outline,Navigator,C++ project)
Ctrl+F6 ,Ctrl+ SHIFT+ F6 在編輯視圖中對打開的文檔進行進行切換(類似于WINDOWS的 ALT+TLB和 ALT+SHIFT+TBL)
Ctrl+F7,Ctrl+ SHIFT+ F7 對全局視圖進行切換
Ctrl+F8 ,Ctrl+ SHIFT + F8 - 界面組的切換 ,這個快捷鍵可以切換Symbian界面組和調試(Debug)界面組。
在Carbide.c++中我們可以設置菜單的Window | Preferences | General | Keys選項中,修改當前的快捷鍵配置。加入你熟悉了其他IDE工具的快捷鍵配置,那么修改Eclipse/Carbide.c++的當前設置可能會是十分有幫助的。(我本人就是這樣,鐘情于emacs)可以這樣修改Carbide C++環境:
Window->Preferences->General->Keys->Modify->Scheme->Emacs
這樣就行了,用起來很爽的說。
(11)關于symbian中進行unix環境下的Universal Time和TTime轉換的方法
_LIT(KDateString1,"%D%M%Y%/0%1%/1%2%/2%3%/3 %-B%:0%J%:1%T%:2%S%.%*C4%:3%+B"); // 定義顯示的格式是 年/月/日 時:分:秒.000000
TTime tm; 
// 這里傳入的1207823088就是unix下面UTC時間的十進制表示
TTimeIntervalSeconds tm_seconds(1207823088) ; 
// local是TLocale的對象,這個對象比較大,最好不要在棧上創建,
// 可以做為類的成員變量或者在堆上創建
TTimeIntervalSeconds tm_offset(local.UniversalTimeOffset()) ; 
// 基準時間根據UTC的標準設定為1970/01/01,0點0分0秒。
tm.Set(_L("19700000:000000.000000")) ; 
tm.FormatL(iTmpBuf, KDateString1) ; 
PrintBuf(iTmpBuf) ; 
// 根據unix UTC時間的定義,需要在基準時間里面加入距離基準時間的秒數,還要加入時區
// 的偏移,我們是東八區,正好需要加入8個小時
tm += tm_seconds ; 
tm += tm_offset ; 
tm.FormatL(iTmpBuf, KDateString1) ; 
PrintBuf(iTmpBuf) ; 
// 此時的tm里面就是我們所需要的symbian下的時間了。
(12)關于symbian 3rd sdk安裝中遇到的一些問題
如果不能成功安裝SDK,建議其參閱諾基亞論壇網站的討論區的帖子:
Can't install S60 3rd SDK:
http://discussion.forum.nokia.co ... ghlight=s60_3rd.xml
這個帖子提供了解決這一問題的迂回方案。開發者需要創建一個空文“S60_3rd.xml”,并將其置于3rd Edition SDK安裝包被解壓縮到的那個安裝目錄中,然后再進行安裝。
如果多次安裝并卸載S60 3rd edition maintenance release SDK,安裝文件目錄的名字將不斷改變,如“\Symbian\9.1\S60_3rd_MR_1”或“\Symbian\9.1\S60_3rd_MR_2”為去除安裝序列號“1” 或“2”,開發者需要于安裝前從Windows注冊表中刪除下列鍵值:HKEY_LOCAL_MACHINE\SOFTWARE\Nokia\com.nokia.s60。
Under HKEY_LOCAL_MACHINE\SOFTWARE\Nokia look for a key called "com.nokia.s60" ( or "S60_3rd_FP1" for S60 3rd SDK FP1). After uninstalling the SDK delete this key from the registry (alternatively you can modify the value of the "Instances" string under thiskey) and on the next install the counter starts again from 0.
(13)關于symbian 3rd中對于Open C庫的支持
根據我的實驗,目前最新版的Open C庫是s60_openc_plugin_MR.zip,
需要配合配套的symbian 3rd sdk MR版本的才好用。
(14)在symbian中根據文件名得到該文件的路徑 
TFileName full_fname;
full_fname =iEikonEnv->EikAppUi()->Application()->AppFullName();
TFileName full_path;
TParse parse;
parse.Set(full_fname,NULL,NULL);
full_path.Copy(parse.DriveAndPath());
(15)在symbian 2nd, 3rd移植的時候,顯示不出來about文本消息
這個問題主要是3rd的Ui類中的ConstructL()函數引起的,盡管在2nd和3rd的平臺上都可以直接使用BaseConstructL()無參數和有參數的版本。但是,在需要顯示about dialog文本的時候,而且是在為3rd開發的時候,最好加上BaseConstructL(EAknEnableSkin)這個帶參數的調用。這樣才不會在顯示的時候出現問題。 
(16)在symbian 3rd的sdk中調試exe程序的方法
如果采用vs2005+carbide.vs插件來調試exe的話,按下F5啟動模擬器以后,會莫名奇妙地打開一個白色的命令行窗口,這個窗口叫做“eshell”。這時候,需要開發人員手工啟動這個exe程序(當然需要現在程序中設置好斷點了)。
具體操作如下:
(a)cd private [回車]
(b)myappname [回車]
這里的myappname就是你需要調試的exe的名字了。這種方法的優點在于,如果exe有屏幕繪圖或者按鍵截獲操作,也就是跟CWsSession有些關系的話,就可以用這個方式,既啟動了模擬器的Windows Server又可以通過eshell手工啟動你的exe。缺點是epoc啟動速度太慢,需要等一段時間。
還有一種更迅速的方法,就是修改配置文件,例如:
C:\Symbian\9.2\S60_3rd_FP1\Epoc32\Data\epoc.ini
在該文件的第一行加入一句textshell,然后保存關閉。當運行epoc啟動模擬器的時候,隨之啟動的還有一個藍色的console輸出窗口。然后的過程就跟上面一樣,首先單擊一下模擬器,讓它獲得焦點,然后用鍵盤輸入上面的(a),(b)兩句即可。這種做法的好處在于模擬器啟動相當快,直接進入textshell模式,缺點是沒有開啟windows server對于有ui操作的exe來說,只能用第一種方案了。最后調試完畢后,不要忘記把epoc.ini文件恢復原狀。
(17)手工讀取手機的相關信息
*#06#   : 讀取手機的imei
*#0000# :讀取手機固件(firmware)版本號
*#2820#:讀取手機藍牙設備的Mac地址
Posted on 2009-06-10 14:59 曾浩 閱讀(913) 評論(0)  編輯 收藏 引用 所屬分類: Symbian
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久国产精品色婷婷| 在线成人免费观看| 午夜精品三级视频福利| 一区二区免费在线观看| 午夜精品电影| 久久久亚洲影院你懂的| 欧美91福利在线观看| 欧美精品久久久久a| 欧美三级午夜理伦三级中文幕| 欧美连裤袜在线视频| 国产精品久久久99| 韩国精品在线观看| 99xxxx成人网| 久久精品免费| 亚洲国产激情| 亚洲图片欧美一区| 久久色在线播放| 欧美日韩一二三四五区| 国产午夜精品麻豆| av成人老司机| 国产精品乱子乱xxxx| 国产视频丨精品|在线观看| ●精品国产综合乱码久久久久| 一本大道久久a久久精品综合| 亚洲免费婷婷| 亚洲大胆女人| 午夜在线观看免费一区| 欧美高清在线精品一区| 国产欧美一区二区三区另类精品 | 欧美日韩免费观看一区| 国产亚洲成精品久久| 亚洲毛片在线免费观看| 久久久蜜臀国产一区二区| 亚洲免费观看高清完整版在线观看熊 | 久久综合九色综合网站| 国产精品永久| 正在播放欧美一区| 欧美国产综合视频| 久久精品国产亚洲5555| 国产精品每日更新| 一区二区三区产品免费精品久久75| 久久一日本道色综合久久| 亚洲午夜女主播在线直播| 欧美大片一区二区| 亚洲国产91| 欧美成人一二三| 久久精品国产一区二区电影| 国产精品一级久久久| 亚洲免费成人| 亚洲日本欧美| 欧美激情亚洲综合一区| 亚洲欧洲一区二区三区久久| 麻豆av一区二区三区| 久久久久88色偷偷免费| 激情成人中文字幕| 久久人人97超碰精品888| 欧美一区二区在线视频| 国产一区二区在线观看免费| 欧美在线视频二区| 欧美一区二区三区的| 国内精品久久久久久 | 国产一区二区三区在线观看免费| 午夜精品久久久久99热蜜桃导演| 一区二区高清| 国产精品自拍视频| 久久九九免费视频| 久久夜色精品国产欧美乱极品| 亚洲美女诱惑| 国产精品www| 久久精品国产99国产精品澳门| 亚洲一区三区电影在线观看| 国产精品一区二区欧美| 久久精品一区二区三区不卡牛牛| 久久精品99国产精品酒店日本| 激情综合网址| 91久久久久久久久| 国产精品久久久久久久久久尿| 欧美亚洲专区| 久久九九久久九九| 日韩小视频在线观看专区| 一本久久综合亚洲鲁鲁五月天| 国产精品一区二区久久久久| 久久久久欧美精品| 欧美顶级少妇做爰| 午夜天堂精品久久久久| 久久久久国产精品www| 99国产精品久久久| 小嫩嫩精品导航| 亚洲毛片在线看| 亚洲一区二区免费在线| 韩国美女久久| 99成人精品| 一区在线视频| 中日韩美女免费视频网站在线观看| 国产香蕉97碰碰久久人人| 亚洲人成网站色ww在线| 国产视频亚洲| 一区二区三区 在线观看视| 国语自产精品视频在线看抢先版结局 | 欧美激情成人在线视频| 国产精品成人在线观看| 老司机免费视频久久| 欧美日韩在线三区| 欧美国产精品久久| 国产农村妇女精品| 亚洲精品在线视频| 在线免费观看视频一区| 亚洲午夜性刺激影院| 亚洲精品九九| 久久最新视频| 久久久噜噜噜久久狠狠50岁| 欧美日韩中文另类| 欧美激情亚洲国产| 又紧又大又爽精品一区二区| 亚洲欧美视频在线| 亚洲午夜小视频| 欧美成人精品| 欧美成人第一页| 黄色亚洲在线| 欧美亚洲免费在线| 欧美一区二区三区成人| 欧美日韩国产va另类| 欧美国产视频在线| 亚洲国产成人av在线| 久久国产欧美精品| 久久麻豆一区二区| 国产一区二区高清| 欧美亚洲免费| 久久久蜜臀国产一区二区| 亚洲欧美日韩一区在线| 亚洲欧美日韩人成在线播放| 欧美三级电影网| 99re成人精品视频| 宅男噜噜噜66一区二区| 欧美日韩免费观看一区二区三区| 亚洲国产精品尤物yw在线观看 | 国产精品视频999| 99精品国产在热久久| 亚洲一区二区久久| 国产精品高潮视频| 亚洲综合久久久久| 欧美制服丝袜| 精品91在线| 欧美mv日韩mv国产网站app| 亚洲成人在线免费| 欧美日韩国产美| 99精品热视频| 午夜亚洲性色福利视频| 国产精品视频yy9299一区| 亚洲欧美在线x视频| 久久理论片午夜琪琪电影网| 尤物在线精品| 欧美精品久久一区二区| 亚洲欧洲一区二区在线观看| 一本大道久久a久久综合婷婷| 欧美日韩亚洲视频| 午夜视频在线观看一区| 免费高清在线一区| 亚洲伦理在线| 欧美性猛片xxxx免费看久爱| 亚洲欧美国产va在线影院| 久久在线91| 一本色道久久加勒比88综合| 国产精品久久久久久久久搜平片 | 欧美午夜不卡在线观看免费 | 欧美日韩亚洲天堂| 亚洲免费在线视频| 欧美激情精品久久久久久蜜臀 | 亚洲男人的天堂在线观看| 国产情人综合久久777777| 久久婷婷丁香| 亚洲永久视频| 欧美激情偷拍| 午夜在线a亚洲v天堂网2018| 亚洲国产福利在线| 国产精品视频精品视频| 久久久久中文| 亚洲视频欧洲视频| 欧美激情精品| 久久人人精品| 午夜精品一区二区三区在线| 亚洲精品一区二区三区婷婷月 | 永久域名在线精品| 国产精品成人观看视频国产奇米| 麻豆国产精品一区二区三区 | 亚洲欧美日韩在线观看a三区| 欧美不卡在线| 欧美在线免费观看视频| 在线一区亚洲| 最新成人在线| 激情丁香综合| 国产日韩在线看片| 国产精品久久久久久妇女6080 | 狠狠色综合日日| 国产精品丝袜久久久久久app| 欧美高清视频一区二区| 久久手机精品视频| 久久精品人人爽| 欧美一区二区三区四区高清| 一区二区三区 在线观看视|