目前分類:DEBUG經驗 (4)

瀏覽方式: 標題列表 簡短摘要
回憶以前研究所時期有個同學很天兵,寫個NDROID鬧鐘的功能不用鬧鐘的寫法而是一直用TIMER。而且還把new TIMER寫在迴圈裏面...最後程式跑幾次正個掛掉.....我花五分鐘解決的問題他花了數個小時......人阿真得不能太自負.....從那位同學身上我學校剛愎自用的道理...


戮克 發表在 痞客邦 留言(0) 人氣()

       某幾個ECLIPSE與ADT版本所編譯出來的程式,只要你加上android:targetSdkVersion="SDK版本號"。造成了除了該版本SDK以外的版本執行都有錯誤的情況。這個原因可能是因為編譯器把城市編譯成該版本最佳化而忽略了其他版本的設定。簡單來講系統BUG,現在新的版本幾乎都沒有這個問題了。
       以前研究所時同班某位同學程式碼都沒錯但卻一直無法執行,最後我叫我另外一位同學轉述我所講的把android:targetSdkVersion="SDK版本號"刪除。就順利的執行了。

戮克 發表在 痞客邦 留言(0) 人氣()

以下是個人遇到的問題和個人的想法
之前在操作JNI調用C#所製的DLL函數時,JAVA程式每次執行一個函式會去讀取某個值在此稱A值。A值其實是C++寫出來的套件A指向一個記憶體位置。但是每次執行結果都會失敗,後來DEBUG發現每次執行時A值都不一樣(理論上A值是個全域變數,數值應該不會變動。)估計應該是JVM沒辦法處理或辨識某些DLL的執行緒狀態。而配置給A一個新的值。
最後解決方法是我把在C#的A值宣告成靜態全域變數static後重新製作DLL,就可以正常執行。應該是因static是在程式初始化時就被建立而且不能隨意更改。簡單來講配置記憶體的區域不同。


JAVA有哪些配置記憶體的區域可以參考以下連結:
http://ajava.org/blog-273-217.html

戮克 發表在 痞客邦 留言(0) 人氣()


最近在寫一個商用軟體的程式
廠商有提供SDK及範例程式但因程式開發廠商是大陸的
所以專案在匯進VS2008之後中文字體都變成亂碼如

下圖

戮克 發表在 痞客邦 留言(0) 人氣()