免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 976 | 回复: 0
打印 上一主题 下一主题

Java Native Interface---Hello world [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-30 20:33 |只看该作者 |倒序浏览

                                                                介绍一下工作环境: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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP