j2me和brew的應用加載機制(探討)

j2me和brew,通常都是下載應用後存放於手機文件系統中,在需要運行時加載執行.

JAVA手機網[www.cnjm.net]

對於應用,都有兩個環境,一個是開發環境,一個是應用環境.
對於j2me,這兩個環境很清晰. 使用java語言寫出通用的j2me程序,然後生成通用的中間代碼jar文件.這兩步均在開發環境中完成. 最後將jar文件下載到手機中,當需要執行該jar文件時,特定的運行平臺(比如不同的手機)中的JVM會實時對jar進行解釋,解釋成特定平臺的api函數,從而編解釋,邊在特定平臺上執行. 這是通過java的解釋性語言特徵以及不同平臺上porting 特定的jvm來實現的.
但是BREW那. BREW的開發環境我們假設爲windows下的VC, 寫好應用後,可以生成DLL,然後在emulator中模擬運行. 當在windows中模擬運行時,brew的一些interface以及brew環境是用windows api來模擬的, 應用此時實際上最終調用到windows api. 接着爲了下載到手機中,需要 make成 mod文件. 這裏就產生一個疑問了. make成mod文件的過程中,BREW的interface以及BREW環境是通過什麼編譯進去的?還是以windows方式來實現模擬的?反正有一點是肯定的,那就不可能調用到具體手機平臺上的代碼.  那這樣把mod文件下載到手機後,在手機中運行的時候,運行環境是手機平臺上的BREW環境,這個BREW環境,BREW interface都是由具體的手機平臺的API函數實現的.此時如何mod文件運行的時候就可以轉到了手機的那個BREW環境那? 即如何調用的Interface 等就是調用手機中porting的那個BREW Interafce那?  在Windows中編譯成mod時,編譯進的BREW環境,BREW interface是windows中的那個,運行時的BREW環境是手機中的,對於一個已編譯好的二進制代碼,如何可以自動切換環境的調用那?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章