JNI(JavaNative Interface)Java本地接口,是Java提供给程序员用Java语言调用本地语言(C、C++)写的函数的一种方法。
下面简单的说一下怎样写第一个JNI程序。
package jni.hello;
/**
* 第一个JNI程序
* @author zyb
* @version 创建时间:2012-4-2 下午3:55:33
*/
public class HelloWorld {
static {
System.loadLibrary("HelloWorld"); // 加载动态链接库,不能加后缀
}
public native void hello(); // 本地方法声明
public static void main(String[] args) {
new HelloWorld().hello();
}
}
生成C或C++的头文件
用Visual Stadio新建一个Win32项目
将刚才生成的头文件放到项目中
在HelloWorld.cpp中加入如下代码:
#include "stdafx.h"
#include <stdio.h>
#include "HelloWorld.h"
JNIEXPORT void JNICALL Java_jni_hello_HelloWorld_hello(JNIEnv *env, jobject object)
{
printf("Hello JNI!");
}
设置VC的环境
工具-选项-项目和解决方案
加入最后两个包含文件。
按F7生成DLL文件,然后将生成的DLL文件复制到Java项目的bin目录下,运行
调用C的函数成功了。哈哈, 是不是很有意思呢。。。
分享到:
相关推荐
第一个jni程序
深入浅出JNI.第一讲 (JNI概述、编写首个JNI程序)
第一个jni程序 helloworld.
JNI在1997年第一次发布,本书总结了SUN工程师和大量开发者两年来积累的经验。 本书介绍了JNI的设计思想,对这种思想的理解是使用JNI的各种特性的基础。 本书有一部分是JAVA2平台上面的JNI特征的规范说明。JNI程序员...
在Android上要想开发出高效率的软件,还是需要用到C/C++语言,要想在Java上开发C/C++语言就需要在IDE上安装NDK;在Android的官网上SDK开发环境已经包含了ADT插件
JNI在1997年第一次发布,本书总结了SUN工程师和大量开发者两年来积累的经验。 本书介绍了JNI的设计思想,对这种思想的理解是使用JNI的各种特性的基础。 本书有一部分是JAVA2平台上面的JNI特征的规范说明。JNI程序员...
JNI在1997年第一次发布,本书总结了SUN工程师和大量开发者两年来积累的经验。 本书介绍了JNI的设计思想,对这种思想的理解是使用JNI的各种特性的基础。 本书有一部分是JAVA2平台上面的JNI特征的规范说明。JNI...
第一个android-studio下的Jni程序,第一次尝试android-studio做jni开发的可以看看。
Chap5:使用JNI技术实现java程序调用第三方dll(c/c++)文件的功能... 47 Chap9:如何编写jni方法(转载)... 55 1、实例一:在jni中调用标准c中自带的函数printf(): 57 2、实例二、调用c 语言用户定义的函数... 58 ...
害怕英文的可以看看,不一个不错的学习资料。 这四种情况下你会用到本书: 1.在Java程序中复用以前写过的C/C++代码。...JNI在1997年第一次发布,本书总结了SUN工程师和大量开发者两年来积累的经验。
主要给大家介绍了关于android串口开发入门之搭建ndk开发环境及第一个jni调用程序的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习...
Android NDK编程,我的第一个hello-jni程序,如何调用自己编译的so库 博客地址:http://blog.csdn.net/dqksky/article/details/40425977
本文讲述如何使用JNI技术实现Hello World ,目的是让读者熟悉JNI的机制并编写第一个Hello World程序。 Java Native Interface(JNI)是Java语言的本地编程接口,是J2SDK的一部分。在Java程序中,我们可以通过JNI实现...
参考网上一些资料,实现了通过JNI调用第三方动态库.so,个人觉得重点在Make文件改写,例外注意确保程序完全正确,我开始就是程序中个字母写错而浪费了好多时间。
第一次用java的jni调用c++的dll程序,运行挺好的,内部还有很多说明,有兴趣的可以看看哟!!!
最近在公司里做了一个手机的项目,需要JAVA程序在发送短信的时候和第三方的短信服务器连接。短信接口是用C++写的。琢磨了三天,大致搞懂了JNI的主体部分。先将心得整理,希望各位朋友少走弯路。 首先引用一篇文章...
最近在公司里做了一个手机的项目,需要JAVA程序在发送短信的时候和第三方的短信服务器连接。短信接口是用C++写的。琢磨了三天,大致搞懂了JNI的主体部分。先将心得整理,希最近在公司里做了一个手机的项目,需要JAVA...
Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 Chap 3:javah命令帮助信息......Chap 4:用javah产生一个...Chap5:使用JNI技术实现java程序调用第三方dll(c/c++)文件的功能... 47 Chap9:如何编写jni方法(转载)... 55