jni程序开发简单示例和说明(eclipse + Microsoft Visual Studio 2010)
来源:互联网 发布:淘宝买吃的怎么样 编辑:程序博客网 时间:2024/06/07 03:40
Jni程序开发的一般操作步骤如下:
l 编写java中的调用类
l 用javah生成c/c++原生函数的头文件
l c/c++中调用需要的其他函数功能,实现原生函数(原则上可以调用任何资源)
l 将项目依赖的所有原生库和资源加入到java项目的java.library.path
l 生成java程序
l 发布java应用和dll库
以下的所有工程项目代码和文档:
http://download.csdn.net/detail/chenchendf/8338173
1. java:
eclipse工程代码:testJni.zip
TestHello.java:
package com.jni;
public class TestHello {
static{
System.loadLibrary("TestHello"); //已经在环境变量中添加dll文件的路径:E:\workspace\testJni\dll
}
public static native void hello(String msg);
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
hello("Hello, Kimmi!");
}
}
注意:
1) javah -classpath E:/workspace/testJni/bin TestHello
(1) 使用classpath参数指定编译后的class文件的路径,否则会提示找不到类
(2) TestHello 类要使用全路径,即前面要添加其包名,此处因为是放在默认包中,所以没有添加。
2). dll文件所在目录必须在系统环境变量中添加,否则无法读取;
3). 使用eclipse测试时,生成dll之后,需要重启eclipse
2. c++
Microsoft Visual Studio 2010工程代码: TestHello_VC.zip
注意:
1) 使用过程中需要用到jni.h和 jni_md.h,在java安装目录的include目录下,需要copy到当前工程目录下
2)visual studio2010需要修改两个地方,否则编译会出错:
“项目”-》“属性”-》“配置属性”:
3. 一切正常后,在eclipse中运行,Run as->Java Application: 结果:
参考:
http://blog.csdn.net/skywalker256/article/details/4677644
http://www.iteye.com/topic/304594#814127
- jni程序开发简单示例和说明(eclipse + Microsoft Visual Studio 2010)
- 第一个JNI程序(Visual Studio与Eclipse配合)
- Microsoft Visual Studio 2010 开发记录
- Microsoft Visual Studio 2010
- Microsoft Visual Studio 2010创建C语言程序的步骤
- Microsoft Visual Studio 2010创建C语言程序的步骤
- Microsoft Visual Studio 2010开发环境的变化和精彩文章推荐
- Android Eclipse JNI开发示例
- [DirectX] Microsoft Visual Studio 2010 配置 DirectX 开发环境
- Microsoft Visual Studio (VS)2010 常用快捷键大全 便捷开发
- Microsoft Visual Studio 2010 hotkey
- Microsoft Visual Studio 2010 专业版
- Microsoft Visual Studio 2010安装
- Microsoft Visual Studio 2010 使用方法
- Microsoft Visual Studio 2010 注册码
- Microsoft Visual Studio 2010 Ultimate
- Microsoft Visual Studio 2010 新建和运行 mvc web应用程序
- Visual Studio中开发Jni dll库
- 给程序加入能打印文件名、行号、日期的日志信息,并设置debug开关
- Oracle的基本操作
- c语言中的可变参数
- 优秀PHP程序员应具备的5大能力
- 通过Blueprint进行模块化的Flask应用开发[转]
- jni程序开发简单示例和说明(eclipse + Microsoft Visual Studio 2010)
- sqlite3 compile error
- 【数据结构基础】线性表的链式存储结构--单链表
- 如何通过 USB 设备来安装 CentOS
- APUE习题3.2----自己实现的dup2( )函数的源码
- NYOJ 744 蚂蚁的难题(一) (位运算)
- Jquery给form表单的action赋值
- 漫谈css布局
- 关于常用正则