Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192475
  • 博文数量: 52
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 570
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-09 22:20
文章分类

全部博文(52)

文章存档

2009年(9)

2008年(27)

2007年(16)

我的朋友

分类: Java

2007-09-30 20:33:08

介绍一下工作环境: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
阅读(690) | 评论(0) | 转发(0) |
0

上一篇:DDOS洪水攻击

下一篇:C#实现断点续传

给主人留下些什么吧!~~