快速业务通道

linux JNI调用

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-16
项目需要,在linux平台下的第一个JNI调用测试程序: 1.编写JAVA程序如下: public class JniTest
{
public native void display();
static
{
System.loadLibrary("jnitest");
}
public static void main(String[] args)
{
JniTest test=new JniTest();
test.display();
}
} 2.编译 使用javac JniTest.java得到JniTest.class文件 3.生成JniTest.h头文件 javah JniTest.java 生成的头文件JniTest.h如下所示: /* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class JniTest */ #ifndef _Included_JniTest
#define _Included_JniTest
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: JniTest
* Method: display
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_JniTest_display
(JNIEnv *, jobject); #ifdef __cplusplus
}
#endif
#endif 4.编写JniTest.c 文件 #include <jni.h>
#include "JniTest.h" JNIEXPORT void JNICALL Java_JniTest_display(JNIEnv * env , jobject obj)
{
printf("hello,jnitest\n");
} 5.编译生成动态库 gcc -c JniTest.c 生成JniTest.o文件 gcc -shared -fPIC -o libjnitest.so JniTest.o 注意:库的名字与JAVA文件中载入的库名要一致. 6.结果: root@ubuntu2:/java# java JniTest
hello,jnitest 完!

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号