walnutcy

KVM 1.04 的CLDC编译完整过

0
阅读(2166)

最近的工作,移植一个KVM平台,所以先搞清楚了Win32平台下的完整编译过程,对KVM有一个基本的了解,具体操作过程如下:

环境要求:   

系统装有VC 6.0,       

cygwin(随便一个版本,主要是利用其make,find等命令,

我这里装的是“Cygwin 本地安装版(0528)”)

JDK库(我用的是jdk1.6.0_11)

编译j2me_cldc 1.0.4 的Win32版的详细步骤:

1) 新建一个CMD.exe的快捷方式,并将起始位置更改为当前工作目录,

2) 修改api\Makefile中的JAVAC定义,更改后如下:
   #modified by walnutcy 2009.03.02
   #JAVAC    = javac
   JAVAC     = javac -source 1.4

//指定版本编译,因为我用的1.0.4库里有一些包用1.6的编译通不过,

3) 修改tools\jcc\Makefile中的JAVAC定义,更改后如下:
   #modified by walnutcy 2009.03.02
   #JAVAC    = javac
   JAVAC     = javac -source 1.4

2) 新建一个build.bat文件,文件内容如下:
   set path="D:"\cygwin\bin;%path%;D:\Gphone\Java\jdk1.6.0_11\bin;
   cd build\win32
   make

3) 双击CMD的快捷方式,并运行build.bat生成kvm.exe

系统会生成文件:
    tool\jcc\nativeFunctionTableWin.c
    tool\jcc\ROMjavaWin.c
               --------------注:这两个C文件是生成kvm.exe必需的,原因在我转载的文章里的有详述。
    kvm\WmWin\build\kvm.exe --这个就是我们要的虚拟机。

下一步:测试kvm.exe    
    samples目录下放的即可HelloWorld的例程,可以参照修改java文件,并生成class文件,
     kvm.exe的使用方法可以通过kvm -help查询:
    Usage: kvm <-options> <classfile>
    Options:
        -version
        -classpath <filepath>
        -heapsize <size> (e.g. 65536 or 128k or 1M)

再上一张PP图,呵呵,接下来的工作就是分析其移植过程了。