韌館-LearnHouse

Archive for the '程式&軟體' Category

[Java/WinAPI]Java和Windows的執行緒(Thread)

可能兜系統兜慣了有時候被問到很基本的問題,都會變得很不確定

今天大學的同學問我要怎樣一台主機模擬多個主機同時在做事情 然後要分配給不同的系統去做事

我直覺想它應該是想要說執行緒吧,可是他說他會在執行緒使用while loop

他不是很確定是否可以這樣做,我那時候想執行緒應該就是用來解決類似這樣的問題吧?

由於我同學是使用java,因此我就寫了一個小小的程式來測試 Read more...

2009年2 月 posted by admin in 程式&軟體 and have No Comments

[WinCE]EVC to VS2005

在上一篇大費周章的好不容易已經解決可以編譯問題

但將編譯完後的檔案丟到手機去,卻發現根本不能使用Cry

挖勒~現在是怎樣,覺得我的時間很多嗎Yell

只好改把專案丟到Visual Studio 2005去編譯看看

果然跟預期的一樣,一堆錯誤和警告..................

Read more...

2008年10 月 posted by admin in 程式&軟體 and have Comments (2)

[WinCE]編譯H263視訊原始碼

由於研究的工具一直換來換去的,現在改要追蹤H263的程式碼了

這個H263的Source Code是從大陸的網站找到的,可以從我的部落格下載

原碼提供Server端PC上的H263 Encode和WinCE上的H263 Decode

剛剛好符合我研究要的所有需求,真是大大的簡化開發時間 Read more...

2008年10 月 posted by admin in 程式&軟體 and have No Comments

[WinCE]TCPMP Player

資料來源:mimi軟體與專案管理的世界Blog

最近都在研究如何才能在接收端用buffer控制多媒體串流,平台已經換了很多種從最早的sunplus spce3200換到google android到現在的wince

以下內容是轉載的,似乎對trace TCPMP source code的人很有幫助

Read more...

2008年10 月 posted by admin in 程式&軟體 and have Comment (1)

[Android]無法透過模擬器上網??

我使用的SDK是android-sdk-windows-0.9_beta

但無法透過模擬器上網 ,都會出現下面的錯誤

而官方的文件也只提到可以更改不同型態的連線速率

後來利用command shell的模式去印出網路卡的設定

找出問題的所在,至於如何進入command shell[samlu_128]

1.首先模擬器先要啟動,再進入Windows命令提示字元

2.切換路徑到Android SDK資料夾裡的tools

3.輸入指令adb.exe shell進入Android系統的shell

4.再輸入netcfg把網路環境的參數印出來

# netcfg
netcfg
lo         UP    127.0.0.1         255.0.0.0          0x00000049
eth0     UP    10.0.2.15         255.255.255.0   0x00001043
tunl0    DOWN  0.0.0.0         0.0.0.0              0x00000080
gre0     DOWN  0.0.0.0         0.0.0.0              0x00000080

由於我有安裝VNN軟體,他抓到我的虛擬網卡

eth0是10.0.2.15因此無法上網 

2008年8 月 posted by admin in 程式&軟體 and have Comments (2)

[C/C++]c語言中volatile關鍵字

資料來源:msdnC++心得分享

volatile 關鍵字表示同時執行的多執行緒可能修改了欄位。

宣告為 volatile 的欄位不遵從假設單一執行緒存取的編譯器最佳化。這確保最新的值會一直出現在欄位中。

volatile 為一關鍵字 加在變數的前面,被 volatile 宣告的變數 將不會使用最佳化編譯

有時一個變數的值改變了 compiler 並不會馬上將他寫入記憶體中

而會先把結果放在CPU暫存器中 等到處理結束之後 才寫入記憶體

說這個變數是多執行緒的flag 其他的執行緒要透過這個變數來反應

而這個值卻又沒有寫入記憶體 這時便會發生意想不到的結果

又或者是這變數為一個硬體的暫存器 會被硬體所改變,然而compiler 並沒有正確的將值從硬體暫存器取出來

而是將自己暫存的值拿來使用,種情況 就是要用volatile 來宣告變數 告訴compiler不要自己暫存變數來提升速度

如此這個變數有任何的改變 便會馬上反應出來 

2008年7 月 posted by admin in 程式&軟體 and have Comments (2)