一个简单的JNI使用
来源:互联网 发布:北京pk10计划软件 编辑:程序博客网 时间:2024/04/28 08:11
一个简单的JNI使用
环境:eclipes,VC++ 6.0
1, 在eclipes下新建java工程,名为:HelloWorld
在文件HelloWorld.java中添加如下代码:
public class HelloWorld
{
private native void print();//没有实现的函数,表示要调用的本地函数
public static void main(String[] args) {
new HelloWorld().print();
}
static {
System.loadLibrary("HelloWorld");//加载库文件(.dll for win32 && .so for Solaris)。确保函数被调用前被加载
}
}
2, 编译HelloWorld.java文件,生成HelloWorld.class
3, 创建本地头文件。
javah -jni HelloWorld
命令的使用请参考javah –help
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorld */
#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloWorld
* Method: print
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloWorld_print
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif注意:尽管在java中声明的print函数没有参数,但在生成的头文件中有两个参数:第一个参数是JNIEnv接口指针(具体是什么,怎么用还没学会);第二个参数是HelloWorld对象的引用,相当于C++中的this。
4, 新建DLL工程,根据头文件编写.cpp文件
#include <jni.h>
#include <stdio.h>
#include "HelloWorld.h"
JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
printf("Hello World!/n");
return;
}
注意:jni.h 可以在jdk的include目录下找到
建议将相关的文件复制到工程目录下,添加additional include 目录
5, 编译VC++工程,生成.DLL文件
6, 将DLL文件放在本地目录下
7, 运行
- 一个简单的JNI使用
- 使用JNI写一个简单的程序
- JNI的简单使用
- jni的简单使用
- JNI的简单使用
- jni的简单使用
- 一个简单的JNI示例
- JNI的一个简单实例
- Android-JNI的简单使用
- Jni的简单使用步骤
- 一个简单的JNI调用的实现
- jni 写一个简单的photoshop
- JNI开发的一个简单Demo
- 如何创建一个简单的JNI调用
- Ubuntu下JNI的简单使用
- 简单的使用jni调用java方法
- JAVA中JNI的简单使用
- Ubuntu下JNI的简单使用
- C的类实现
- 我是学测量的学生,以后想在这方面发展,应该怎么做啊???求高人指点!
- C#中自定义消息,与MFc对比
- 教你如何使用VFW调用视频压缩解压缩!花了我一个下午的时间[非常详细]
- linux文本编辑器vi常用的命令模式命令
- 一个简单的JNI使用
- tomcat5.5.20连接池DBCP、C3P0配置(含官方配置)
- debian下通过多端口方式建立多个站点
- 各大IT公司工资一览
- 笔记本无线上网的问题
- 把RecordSet的LockType属性设置为4,可以保证“修改操作”只作用于RecordSet对象,而不会影响到数据库
- dom读写xml相关回顾
- 系统程序员成长计划-文本处理(XML解析器)
- 世界三大统计分析软件sas splus spss