编译CDC
来源:互联网 发布:官方淘宝波司登羽绒服 编辑:程序博客网 时间:2024/05/22 05:23
开始编译CDC之前,有两点很重要:
1.理解编译的流程,即makefile大致是做了什么事情;
2.正确安装和配置makefile中要用到的工具;
(一)编译的基本流程如下:
在CDC的源代码中,文件分为三种:C,jaja和汇编,每种文件的编译过程如下:
C文件(.C):gcc编译为.o文件;
Java文件(.java):用javac编译为.class文件-》用zip或jar大部为.zip或.jar文件-》由JCC将导出为romjava.c文件-》gcc编译为romjava.o文件-》ar成.a文件;
汇编文件(.s):as编译为.o文件;
最后,将.o和.a以及系统库文件连接为JRE(CVM)文件。
具体步骤如下:
1.将preload包中的java源文件用javac编译为btclasses/*.class文件;
2.将在生成的tranlist中的类通过zip工具归档为btclasses.zip文件;
3.将非preload包中的java源文件通过javac编译为.class文件放在相应的class-lib目录下;
4.用jar工具将class-lib下的class文件打包为相应的class-lib.jar文件;
5.使用JCC(也是编译时生成的)将btclassed.zip中的数据结构提取出放到romjava.c和romjava.h中;
6.使用javah工具将非preload包中各类中的native方法本地化为相应的.h文件;
7.使用gcc将native方法所在的.c文件和JVM本身的.c文件编译为相应的.o文件;
8.将romjava.c文件编译为romjava.o文件;
9.使用ar将romjava.o文件归档为romjava.a文件;
10.将.o和.a文件连接生成cvm文件放在bin目录下;
(二)正确配置工具:
在makefile中大致使用到了如下的工具,首先在终端下使用which命令看一下各工具是否安装,及当前所在的路径。如查看gcc使用:which gcc,然后自己定义如下变量放在makefile中(我这里只是生成在主机环境下的cvm,要想交叉编译出目标平台的cvm,待续):
# begin for var defined by myself
CC = gcc
CCC = $(CC)
AS = $(CC)
LD = $(CC)
CVM_USE_NATIVE_TOOLS = true
CVM_JAVAC = javac
CVM_JAVA = java
CVM_JAVADOC = javadoc
CVM_JAVAH = javah
CVM_JAR = jar
AR = ar
RANLIB = ranlib
HOST_CC = $(CC)
HOST_CCC = $(HOST_CC)
LEX = lex
BISON = bison
ZIP = zip
SHELL = sh
# end for var defined by myself
cd到在自己的设备文件,输入make,一切正确,生成cvm文件。OK!
1.理解编译的流程,即makefile大致是做了什么事情;
2.正确安装和配置makefile中要用到的工具;
(一)编译的基本流程如下:
在CDC的源代码中,文件分为三种:C,jaja和汇编,每种文件的编译过程如下:
C文件(.C):gcc编译为.o文件;
Java文件(.java):用javac编译为.class文件-》用zip或jar大部为.zip或.jar文件-》由JCC将导出为romjava.c文件-》gcc编译为romjava.o文件-》ar成.a文件;
汇编文件(.s):as编译为.o文件;
最后,将.o和.a以及系统库文件连接为JRE(CVM)文件。
具体步骤如下:
1.将preload包中的java源文件用javac编译为btclasses/*.class文件;
2.将在生成的tranlist中的类通过zip工具归档为btclasses.zip文件;
3.将非preload包中的java源文件通过javac编译为.class文件放在相应的class-lib目录下;
4.用jar工具将class-lib下的class文件打包为相应的class-lib.jar文件;
5.使用JCC(也是编译时生成的)将btclassed.zip中的数据结构提取出放到romjava.c和romjava.h中;
6.使用javah工具将非preload包中各类中的native方法本地化为相应的.h文件;
7.使用gcc将native方法所在的.c文件和JVM本身的.c文件编译为相应的.o文件;
8.将romjava.c文件编译为romjava.o文件;
9.使用ar将romjava.o文件归档为romjava.a文件;
10.将.o和.a文件连接生成cvm文件放在bin目录下;
(二)正确配置工具:
在makefile中大致使用到了如下的工具,首先在终端下使用which命令看一下各工具是否安装,及当前所在的路径。如查看gcc使用:which gcc,然后自己定义如下变量放在makefile中(我这里只是生成在主机环境下的cvm,要想交叉编译出目标平台的cvm,待续):
# begin for var defined by myself
CC = gcc
CCC = $(CC)
AS = $(CC)
LD = $(CC)
CVM_USE_NATIVE_TOOLS = true
CVM_JAVAC = javac
CVM_JAVA = java
CVM_JAVADOC = javadoc
CVM_JAVAH = javah
CVM_JAR = jar
AR = ar
RANLIB = ranlib
HOST_CC = $(CC)
HOST_CCC = $(HOST_CC)
LEX = lex
BISON = bison
ZIP = zip
SHELL = sh
# end for var defined by myself
cd到在自己的设备文件,输入make,一切正确,生成cvm文件。OK!
- 编译CDC
- CDC
- CDC
- CDC
- cdc
- CDC
- CDC
- CDC
- CDC::GetPixel
- HDC & CDC
- CDC类
- CDC::SetBkMode
- CDC::CreateCompatibleDC
- CDC::DrawText
- CDC::CreateCompatibleDC
- CDC描画
- CDC简介
- CDC绘图
- liferay数据类型持久化
- 首届中国项目管理精英大会
- 理解XML Schema: XML Schema初步(II)
- vi入门快速通
- 用MTK工具导入到DB2
- 编译CDC
- 简单的时间管理技巧
- Ruby Object 类详细分析(2)
- Live with Java
- webwok中使用自定义的返回类型(result_type)
- 通过Linux系统伪装方法加固系统安全
- J2ME程序开发新手入门九大要点(转摘)
- SQL Server 2005 系统要求
- 制定一分钟目标的6个步骤