re: 獲取手機(jī)短信和彩信號碼的方法 frank.sunny 2010-11-29 10:42
@Skill
不知道什么意思啊,該方法適用于S60 3rd以后的機(jī)型,2nd機(jī)型我沒有試過,不過照理應(yīng)該也可以,畢竟mtm在S60中變化不大
@peng_LX
不是可以下載嗎?在文檔末尾,下次不理睬這種行為了
首先,不妨建議你裝到其他手機(jī)上試一下,看能否可行
其次,N95好高級的,將設(shè)備號改成0x102032BE試試看可行不
最后,說句實(shí)話,我也快小半年沒搞過symbian,手上沒有智能手機(jī),建議你去論壇看看,如果你真要發(fā)郵件給我,那就發(fā)frank.sunny@163.com,不過真的未必幫得上忙
本人不用qq
你如果方便就貼出代碼或者對照文章仔細(xì)查查你哪里不對吧?
re: Windows Mobile 打包過程 frank.sunny 2008-10-23 18:29
最近的事件證明了下,博主的第十條對我有點(diǎn)啟迪,不過嘗試過失敗了,也未必就不好,每個人不可能做到每一步正確
re: [整理]虛擬繼承入門 frank.sunny 2008-10-16 22:28
@giscn
的確,這個技術(shù)雖然從OO角度來說是存在的,但是我們的確應(yīng)該避免,說真的,工作了這么久也沒有接觸過,昨天筆試遇到了這么個概念,才想起翻出來看看,而且要搞透它涉及的OO概念需要很全面很扎實(shí),我也就在別人基礎(chǔ)上入入門而已
re: 虛繼承與虛基類的本質(zhì) frank.sunny 2008-10-16 18:16
語法語義上的解釋很連貫,我能看懂
但是模型和性能方面,可能我功力還不夠吧
總得來說,讓我收獲不小
整理得非常好
不過對隱藏的概念應(yīng)該還可以簡化為:基類成員函數(shù)中,不滿足覆蓋條件的派生類同名成員函數(shù),都視為隱藏(既基類方法不能被派生類繼承使用)。
而顯然滿足覆蓋的充要條件是:
(a)在基類中函數(shù)聲明的時候有virtual關(guān)鍵字
(b)基類中的函數(shù)和派生類中的函數(shù)聲明一模一樣即函數(shù)名,參數(shù),返回類型都一樣
re: 從線程角度看AO框架 frank.sunny 2008-10-12 08:19
@luke
謝謝luke,你的提點(diǎn)很有用,我對Windows核心編程之前了解的并不多,在你提點(diǎn)下,又去查了下
進(jìn)程通常被定義為一個正在運(yùn)行的程序的實(shí)例
線程是cpu分配的基本單位
進(jìn)程是不活潑的。進(jìn)程從來不執(zhí)行任何東西,它只是線程的容器。線程總是在某個進(jìn)程環(huán)境中創(chuàng)建的,而且它的整個壽命期都在該進(jìn)程中。單個進(jìn)程可能包含若干個線程,所有這些線程都“同時”執(zhí)行進(jìn)程地址空間中的代碼。
這個可能大家都知道的
纖程是以用戶方式代碼來實(shí)現(xiàn)的,內(nèi)核并不知道纖程,并且它們是根據(jù)用戶定義的算法來調(diào)度的。由于你定義了纖程的調(diào)度算法,因此,就內(nèi)核而言,纖程采用非搶占式調(diào)度方式。
需要了解的下一個問題是,單線程可以包含一個或多個纖程。就內(nèi)核而言,線程是搶占調(diào)度的,是正在執(zhí)行的代碼。然而,線程每次執(zhí)行一個纖程的代碼—你決定究竟執(zhí)行哪個纖程。
雖然我不知道symbianOS內(nèi)核開發(fā)的時候是怎么樣的,但是我根據(jù)symbian活動對象的原理來分析,的確應(yīng)該就是“纖程”的影子,再次感謝luke的提點(diǎn)
自己再來添點(diǎn)東西
中秋上來兩天因?yàn)檫@個轉(zhuǎn)換的事情郁悶到了現(xiàn)在,由于開發(fā)時用到了2nd版本,而且是C/S架構(gòu)的,Server在3rd跑得好好的,到了2nd上運(yùn)行到PrepareToConvertToOrFromL老是崩潰,后來將mmp中的EPOCSTACKSIZE設(shè)成為0x5000程序就ok了,與真正的CCnvCharacterSetConverter沒有關(guān)系
以上這個實(shí)例之所以放在HandleForegroundEventL函數(shù)中,只是為了直觀和便于理解
在具體編程時,程序需要切換的時候可以遍歷任務(wù)列表,讓找到的任務(wù)切換到前臺。假如某些程序做了優(yōu)化任務(wù)列表隱藏了的話,我們可以考慮在進(jìn)程列表內(nèi)進(jìn)行查找,然后將這個任務(wù)通過SendToBackground和BringToForeground函數(shù)進(jìn)行切換
re: MSP430的時鐘問題 frank.sunny 2008-08-19 12:07
@喜歡】
不好意思,一年多沒搞了,具體的datasheet都留在公司了,可以參看下跟TimeA相關(guān)的寄存器設(shè)置
具體實(shí)現(xiàn)思路,可以參考:先設(shè)置MCLK和SMCLK為DCO,然后TimeA選擇為MCLK或SMCLK
@selwin
看你估計(jì)是熬夜的人,沒有看到文中的鏈接地址吧
以前文中沒有給出下載才要發(fā)送,后來考慮大家需要,已經(jīng)添加下載附件了
這就對了嗎,默認(rèn)的mmp在group文件夾中,自然默認(rèn)的資源路徑也在group文件夾下了
在START RESOURCE [ECA93FBE].rss
TARGETPATH \private\101f875a\import
HEADER
END
前加上代碼
SOURCEPATH ..\data
這樣就可以放在data下面了
其實(shí)這些都是一個形式,只要了解mmp的編寫就知道是怎么回事情了
@ldta100
沒遇到過,不介意的話,可以把mmp文件內(nèi)容給我看下,懷疑是mmp中路徑的問題
@ldta100
AutoStart.exe是你需要自啟動的程序,也就是你本人的執(zhí)行程序名稱,好比你建了一個工程HelloWorld,那么這個就是HelloWorld.exe
再回答上一個問題,假如你的程序?yàn)镠elloWorld.exe,那么或許還有一個其它程序叫Hello.exe,如果你想自啟動Hello.exe而將代碼修改為
#include <startupitem.rh>
RESOURCE STARTUP_ITEM_INFO dispatcher
{
executable_name = "!:\\sys\\bin\\Hello.exe";
recovery = EStartupItemExPolicyNone;
}
那么將不能實(shí)現(xiàn)需求
應(yīng)用程序的id,如果這個程序不是你開發(fā)的,你可以裝個FExploorer查看得到
我懷疑樓上應(yīng)該是搞漢化之類的吧,在這一塊,本人實(shí)在幫不上忙,因?yàn)槲覜]有做過
@CJQ
不知道你是不是搞開發(fā)的,如果是開發(fā)的,那看不懂的話,哪里不明白,你明說
沒用搞過symbian S60 SDK開發(fā)的話,那我也不知道該如何詳細(xì)解釋了,很抱歉
re: C中如何調(diào)用C++函數(shù) frank.sunny 2008-04-15 14:48
@david_fluid@msn.com
沒看明白你的意思,沒有設(shè)置類的實(shí)例對象,自然是NULL的啊,你想它的值是多少?。?
而且本實(shí)現(xiàn)call_C_f_i和call_C_f_d只是一個接口函數(shù)
re: 描述符轉(zhuǎn)換 frank.sunny 2008-03-20 14:28
不知道閣下如何聯(lián)系,想問下無bom和有bom具體是什么關(guān)系啊
我不懂呢,查了下有bom多了內(nèi)容為“FFFE”,對吧,但是有什么用,能告知下嗎
re: 描述符轉(zhuǎn)換 frank.sunny 2008-03-20 13:27
不好意思,剛剛午睡下
你這樣是不對的,“_LIT8(KOpentoMap8, "返回我的最愛");"中的"返回我的最愛"是GBK編碼的,而_LIT8并非轉(zhuǎn)化為utf-8的,仍然是GBK編碼的。這個在symbian中現(xiàn)在一般不推薦使用,只針對ASCII碼時是適用的。
關(guān)于GBK轉(zhuǎn)化到Unicode另外有代碼實(shí)現(xiàn)的,也怪自己偷懶老是沒有整理這個東西,我有時間整理下吧。
re: 描述符轉(zhuǎn)換 frank.sunny 2008-03-20 12:12
不知道你是怎么考慮的,照理“_LIT8(KOpentoMap8, "返回我的最愛");”這個語句應(yīng)該是“_LIT(KOpentoMap8, "返回我的最愛");”吧 ?
我不是很清楚你要實(shí)現(xiàn)什么目的
re: 描述符轉(zhuǎn)換 frank.sunny 2008-03-20 11:58
閣下連耗時與否都做過比較了,非常感激,但是不知道具體是怎樣耗時法,本人未做過這方面的實(shí)驗(yàn)。
照理轉(zhuǎn)成utf8應(yīng)該無問題啊,不知道怎么聯(lián)系閣下,我的郵箱是:frank.sunny@163.com
re: 再談sizeof()的問題 frank.sunny 2008-03-04 11:12
非常感謝,說實(shí)話,我也不幸中招了
死得很慘,慚愧一下
re: 描述符轉(zhuǎn)換 frank.sunny 2008-03-04 10:50
@myh
好久沒來更新了,今天在郵箱里看到來自博客園的郵件感覺好親切
謝謝myh兄,還自己去做過實(shí)驗(yàn),其實(shí)8位到16位的前兩個原則只是保證在內(nèi)存塊中數(shù)據(jù)一致,不放你可以自己調(diào)試看看內(nèi)存里面內(nèi)容,但是你在顯示的時候8位和16位的編碼不一樣自然就會出現(xiàn)亂碼了
其實(shí)這個問題還是涉及編碼的問題,由于后來項(xiàng)目緊就一直沒有更新博客了,myh兄可以采用原則3和4,肯定不會出現(xiàn)亂碼的,并且如果是中文,在模擬器上如果采用了中文SDK是不會出現(xiàn)亂碼的,在手機(jī)上可能還會出現(xiàn)亂碼,這個只能以后詳細(xì)解說了
再次感謝myh兄參與討論
其實(shí)昨天部門老大找我和另外一個同事聊天,聊起這個靜態(tài)變量的問題,老大問我們靜態(tài)全局變量放在哪里的,我就回答說是靜態(tài)存儲區(qū),老大就說其實(shí)沒有靜態(tài)存儲區(qū),只有堆區(qū)和棧區(qū),那想了下應(yīng)該是在棧區(qū)的吧
后來跟我一個同學(xué)聊天,問他關(guān)于這個問題,他說可以搞個Demo程序看看,后來告知我說靜態(tài)全局變量是在棧區(qū),而且在普通棧區(qū)的后面,我也半信半疑,今早跟一個同事聊天,又說是在bss內(nèi),呵呵,小問題,還有大學(xué)問,搞明白了VC還可以查看并生成匯編代碼,以后慢慢研究
re: 讓編譯器生成ASM文件及Map文件 frank.sunny 2007-12-14 10:24
非常感謝指點(diǎn)迷津,這個東西,我查了好久才在這里查到,蠻有用的
re: C中如何調(diào)用C++函數(shù) frank.sunny 2007-12-08 16:00
@Merlin Ran
其實(shí)你所提到的問題,我老早就想到了,但是之前編譯通不過,具體代碼在此鏈接下,錯誤消息你自己編譯看看吧,我不知道你是怎么編譯通過的,如果你編譯通過了,最好可以給份代碼在我郵箱里可以嗎?
http://www.shnenglu.com/Files/franksunny/cCallCppDemoErr.rar
我的郵箱:frank.sunny@163.com
re: C中如何調(diào)用C++函數(shù) frank.sunny 2007-11-30 21:01
@夢在天涯
不知道怎么通知你,已經(jīng)有個實(shí)例了,非常感謝你的指出,否則我就那么蒙混過去了
同時感謝大家的關(guān)注,希望對實(shí)例工程提出更多想法。
re: 描述符Descriptors概念和使用 frank.sunny 2007-10-21 10:19
@Minidx全文檢索
呵呵,編譯后一般都是APP的,但是也有exe的控制臺程序,手機(jī)Symbian OS都是以dll的方式調(diào)用。不過慚愧至今還沒有試過將exe的控制臺程序,移到手機(jī)上去試過。
不管怎么樣要移到手機(jī)上,得要打包成sis才可以。
這個問題是關(guān)于symbian的文件問題,如果你感興趣,可以看看我前面有篇Symbian資源文件解析,文后涉足了下各類Symbian文件
不過這里討論描述符,別讓我跑題了哦,呵呵
謝謝參與
總得來說可能現(xiàn)在這里搞Symbian的人還是不多啊
re: 描述符Descriptors概念和使用 frank.sunny 2007-10-21 09:36
@Minidx全文檢索
謝謝您來哦,不好意思的很,昨天一天都沒上來過,所以本來想寫的二也沒有完成,今天早上起來看到你的回復(fù)。簡單的說Symbian是不支持STL的,但是它有自己的與容器相關(guān)的類。
至于執(zhí)行文件的要求,我不知道你指的是什么?
re: 無符號變量居然也能輸出-1 frank.sunny 2007-10-18 12:19
果然是這樣子,謝謝螞蟻
我順著你的符號位擴(kuò)展的線索網(wǎng)上搜了一下,發(fā)現(xiàn)原來有本入門級的書就講這個的,
http://book.csdn.net/bookfiles/169/1001697518.shtml
不知道大家有沒有看過,好的話,我也去弄一本,感覺在學(xué)校那會沒人跟我提到過有這么一個術(shù)語呢,是不是有需要空閑時拿來翻翻
re: 無符號變量居然也能輸出-1 frank.sunny 2007-10-18 10:45
@Minidx全文檢索
樓上謝謝你的關(guān)注,咱們討論討論哦
像你所說的方法,進(jìn)過運(yùn)算,默認(rèn)0xFFFF是int型的,所以是先計(jì)算了一下的,我現(xiàn)在需要考慮的是直接賦值,也就是說如果我想得到正確的值,我默認(rèn)可以
temp6 = (unsigned short)temp2強(qiáng)轉(zhuǎn)一下就可以了,不用運(yùn)算。
我想知道short型的變量賦給int型的時候,是什么樣的機(jī)制,還有就是有符號和無符號的機(jī)制是什么樣的?
其次就是我是在Windows的VC6環(huán)境下調(diào)試的,是不是其它環(huán)境下也是將0xFFFF變成了0xFFFFFFFF了?
re: 無符號變量居然也能輸出-1 frank.sunny 2007-10-18 09:41
其實(shí)昨天寫了這個東西也沒有太去細(xì)想,今天看到有人回復(fù),我就跟蹤內(nèi)存調(diào)試了下,其實(shí)執(zhí)行到temp6和temp7賦值時,內(nèi)存中實(shí)際存儲的是4294967295(也即FFFFFFFF),所以如果不用“%d”輸出,改用“%u”輸出的話,結(jié)果也不是65535,而是4294967295。
當(dāng)然沒有“%ud”這種輸出,大概是樓上筆誤吧。
至于為什么賦值時賦成FFFFFFFF,而不是0000FFFF,我也不是很清楚,我自己剛開始以為初始化問題,所以先將temp6 = 0;再用temp6 = temp2;發(fā)現(xiàn)結(jié)果還是一樣。這個問題還望高手指點(diǎn)一下啊
re: IP地址與子網(wǎng)掩碼 frank.sunny 2007-09-28 09:00
@空情鄰
你想問最后一個可用的C類網(wǎng)IP地址吧
我想應(yīng)該是,這個看過文檔應(yīng)該能算出來的啊,關(guān)鍵是你根據(jù)給的大網(wǎng)的IP來算廣播地址,廣播地址減1就是最后一個IP地址了。
不知道你干嘛用,基礎(chǔ)知識你也可以看看
http://www.qqread.com/net-knowledge/h171766708.html,以及相關(guān)網(wǎng)頁
re: IP地址與子網(wǎng)掩碼 frank.sunny 2007-09-28 08:51
@114668170
這位仁兄,此文雖然不是我寫的,我也是轉(zhuǎn)載別人的,但是我不知道你對子網(wǎng)掩碼的理解是怎樣,不知道你贊同“掩碼的左邊部分一定要是全為1且中間不能有0出現(xiàn)”這個觀點(diǎn)不?
再有,我不知道你贊同“在得到網(wǎng)絡(luò)號的基礎(chǔ)上,將網(wǎng)絡(luò)號右邊的表示IP地址的主機(jī)部分的二進(jìn)制位全部填上1,再將得到的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)就可以得到廣播地址”這個觀點(diǎn)不?
歡迎進(jìn)行討論,前陣子工作沒定下來,所以一直漂,沒關(guān)心這個空間,不好意思,回晚了
re: Symbian編程起步 frank.sunny 2007-09-24 08:05
在Nokia官方網(wǎng)站就有,你如果真想下google一下也就有了,SDK又不用收錢,下一個不難。
re: SYMBIAN UIQ 開發(fā)平臺搭建 frank.sunny 2007-09-07 14:22
原來你去年就搞Symbian了啊,我才剛開始學(xué)習(xí),不過我是在VC環(huán)境下,謝謝分享經(jīng)驗(yàn)
re: MSP430入門 frank.sunny 2007-07-27 10:33
@dre
因?yàn)锳CLK是32KHz的啊,自然一秒需要計(jì)數(shù)32*1024 = 32768次啊
re: 網(wǎng)訊筆試歸來 frank.sunny 2007-03-05 22:27
@tx7do
的確如你所說,我也長見識了,呵呵
謝謝你
re: 網(wǎng)訊筆試歸來 frank.sunny 2007-03-05 17:01
謝謝如上各位指點(diǎn),我以后用代碼時背景改成灰色好了。
根據(jù)大家的建議,我后來改了下代碼,改成如下方式:
String::String(const char* m_char) :m_Data(NULL)
{
int m_nLength = strlen(m_char) + 1;
m_Data = new char[m_nLength];
strcpy(m_Data, m_char);
}
String::String(const String &Str) : m_Data(NULL)
{
int m_nLength = strlen(Str.m_Data) + 1;
m_Data = new char[m_nLength];
strcpy(m_Data, Str.m_Data);
}
個人還參考了下memcpy和strcpy的區(qū)別,也沒說哪個執(zhí)行效率高些,當(dāng)然能簡化就簡化,
謝謝樓上的大俠提點(diǎn),在你的指點(diǎn)下,認(rèn)真看了下對齊的東西,你說的也不是很對
上面的題按4邊界對齊的話,也要考慮順序的即 1+(3)+ 4 + 1 = 9
(9 / 4 +1) * 4 = 12
也就前一個類型根據(jù)后一個類型擴(kuò)展
具體我再附上別人的源代碼。
struct DATA1
{
char c1; //偏移量0,累積size = 1
char c2; //偏移量1,累積size = 1 + 1 = 2
short si; //偏移量2,累積size = 2 + 2
};
struct DATA2
{
char c1; //偏移量0,累積size = 1
short si; //偏移量1 + (1),累積size = 1 + (1) + 2 = 4
char c2; //偏移量4,累積size = 4 + 1 = 5,但按最大長度sizeof(short) = 2對齊,故最后取6
};
struct DATA3
{
char c1; //偏移量0,累積size = 1
double d; //偏移量1 + (7),累積size = 1 + (7) + 8 = 16
char c2; //偏移量16,累積size = 16 + 1 = 17,但按最大長度sizeof(double) = 8對齊,故最后取24
};
#pragma pack(push,1) //強(qiáng)制1字節(jié)對齊
struct DATA4
{
char c1; //偏移量0,累積size = 1
double d; //偏移量1,累積size = 1 + 8 = 9
char c2; //偏移量9,累積size = 9 + 1 = 10
};
#pragma pack(pop) //恢復(fù)默認(rèn)對齊方式
struct DATA5
{
char c1;
double d;
char c2;
};
void main()
{
cout << "sizeof(DATA1) = " << sizeof(DATA1) << endl;
cout << "sizeof(DATA2) = " << sizeof(DATA2) << endl;
cout << "sizeof(DATA3) = " << sizeof(DATA3) << endl;
cout << "sizeof(DATA4) = " << sizeof(DATA4) << endl;
cout << "sizeof(DATA5) = " << sizeof(DATA5) << endl;
}
@清風(fēng)雨
其實(shí)題目是沿用原作者的,我也是學(xué)習(xí)用的,他本人就是搞嵌入式的,我覺得這個可以搞懂些變量底層的東西
謝謝大俠關(guān)心啊,呵呵
re: 關(guān)于程序職業(yè)的幾個方向 frank.sunny 2006-10-25 23:54
主要還是講嵌入式,不錯不錯
非常感謝樓上不留名的大俠指點(diǎn),我還算是個新手,謝謝你一語道破了,這只是一個“位域”概念,本人搜索了一下這一概念,發(fā)現(xiàn)有一個人總結(jié)的還比較可以的
總結(jié)如下:
使用位域的主要目的是壓縮存儲,其大致規(guī)則為:
1) 如果相鄰位域字段的類型相同,且其位寬之和小于類型的sizeof大小,則后面的字段將緊鄰前一個字段存儲,直到不能容納為止;
2) 如果相鄰位域字段的類型相同,但其位寬之和大于類型的sizeof大小,則后面的字段將從新的存儲單元開始,其偏移量為其類型大小的整數(shù)倍;
3) 如果相鄰的位域字段的類型不同,則各編譯器的具體實(shí)現(xiàn)有差異,VC6采取不壓縮方式,Dev-C++采取壓縮方式;
4) 如果位域字段之間穿插著非位域字段,則不進(jìn)行壓縮;
5) 整個結(jié)構(gòu)體的總大小為最寬基本類型成員大小的整數(shù)倍。
樓上木葉流水兄,看過這個總結(jié)不知道是否有更清晰的了解啊,可以看他網(wǎng)頁
http://blog.csdn.net/jiyucn/archive/2006/07/01/862085.aspx