网站首页 新闻首页 网页设计图形动画软件编程网站开发办公软件操作系统数据库网络技术认证考试范文资料黑客攻防 书籍教程 进入论坛

Linux平台下的JNI开发[88250原创]

http://www.diybl.com/ 2008-1-31  网络 点击:  [ 评论 ]
文章搜索:    【点击打包该文章】

由于项目需要用Java调用C++写的功能,所以要学习JNI技术的使用。下面是一个简单的实例:
1. 编写Java类


package hellojni;

/*
 * @(#)HelloWorld.java
 * 
 * Copyright 2007 School of Software, Yunnan University.
 *                                  All rights reserved
 
*/
/**
 * 载入C++写的业务实现库,Java端的调用接口
 * 
@author 88250
 * 
@version 1.0.0.0, Jan 31, 2008
 
*/
public class HelloWorld {

    
static {
        
try {
            
// 此处即为本地方法所在链接库名
            System.load("/home/daniel/Work/Sources/Java/HelloJNI/build/classes/libHelloWorld.so");
        } 
catch (UnsatisfiedLinkError e) {
            e.printStackTrace();
        }
    }

    
/**
     * 业务逻辑方法
     * 
@param strName
     
*/
    
public native void SayHello(String strName);
}

2. 编译java文件生成HelloWorld.class文件

3.
在命令行下,javah -jni hellojni.HelloWorld 生成 HelloWorld.h 文件。(注意:运行javah命令的路径为hellojni包的上层)
生成hellojni_HelloWorld.h文件,如下:


/* DO NOT EDIT THIS FILE - it is machine generated */
#include 
<jni.h>
/* Header for class hellojni_HelloWorld */

#ifndef _Included_hellojni_HelloWorld
#define _Included_hellojni_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     hellojni_HelloWorld
 * Method:    SayHello
 * Signature: (Ljava/lang/String;)V
 
*/

如果图片或页面不能正常显示请点击这里 站内搜索:   

文章评论

请您留言