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环境是手机中的,对于一个已编译好的二进制代码,如何可以自动切换环境的调用那?

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