- 论坛徽章:
- 0
|
介绍一下工作环境:ubuntu, java, gcc
//HelloWorld.java
class HelloWorld {
private native void print();
public static void main(String[] args) {
new HelloWorld().print();
}
static {
System.loadLibrary("HelloWorld");
}
}
编译javac HelloWorld.java
生成头文件:javah -jni HelloWorld,会生成HelloWorld.h
//HelloWorld.c
#include
#include
#include "HelloWorld.h"
JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
printf("Hello World!\n");
return;
}
编译C文件
gcc -I/usr/lib/jvm/java-6-sun-1.6.0.00/include -I/usr/lib/jvm/java-6-sun-1.6.0.00/include/linux HelloWorld.c -o libHelloWorld.so -nostartfiles -shared
运行
java HelloWorld
注意事项:
1.如果你是第一次使用JAVA在Ubuntu,建议update-alternatives --config java配置一下,选择/usr/lib/jvm/java-6-sun/jre/bin/java编译
2.java本地化速度并没有多大的提升,只是可以二进制代码重用。
3.如果你在windows下,并且是.net环境,可以用如下命令编译成DLL文件,
cl HelloWorld.cpp /I C:\Java\jdk1.6\include /I C:\Java\jdk1.6\include\win32 /LD HelloWorld
代码很简单,我就不罗嗦了,GOOD LUCK
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/48222/showart_393225.html |
|