1.新建java代码 HelloWorld.java
class HelloWorld {
public native void displayHelloWorld();
static {
System.loadLibrary("hello");
}
public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
}
2.javac HelloWorld.java
3.javah -jni HelloWorld 生成c++头文件HelloWorld.h
/* 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: displayHelloWorld
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
4.实现c++头文件 HelloWorld.h的头文件 HelloWorld.cpp
#include "HelloWorld.h"
#include <iostream>
using namespace std;
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld
(JNIEnv *, jobject){
printf("this is my jni hello,world\n");
cout<<"hello,world!"<<endl;
}
5.编译生成hello.dll动态库
工具-->选项-->source control-->include files 将jdk-->include下的头文件和win32的头文件包含进去
6.运行java HelloWorld
参考链接http://www.blogjava.net/shiliqiang/articles/287920.html
相关推荐
myEclipse java调用c++动态链接库实现人脸识别工程
海康威视 综合安防管理平台8700 java调用C++接口,提供录像下载相关功能! maven项目,Eclipse导入注意!
如何创建c++动态链接库,供其它语言调用如(java,c++)
Java调用动态链接库 Java 调用 DLL 源码
详细演示了如何通过JNA实现以下形式的动态链接库接口: 1:基本数据类型 2:基本数据类型的指针和引用 3:结构体 4:结构体的指针和引用 ...C++动态链接库; VC调用本地动态链接库; JNA调用本地动态链接库;
用java调用C或C++动态链接库原来如此简单 java调用dll
利用JNI技术实现Java中调用C++编写的函数库示例程序源码,并附上参考JNI文档。 详情见本人博客:Java学习之通过JNI调用C/C++编写的dll链接库(图文教程)(http://write.blog.csdn.net/postlist)
本文档在三个方面叙述了java使用JNI调用C++的实例,①java与c++间没有参数传值,②java传入整型,c++返回整型,③java传入两个整型参数,c++返回整型数组。 有需要做以上几方面处理的情下载本文档,简单、清晰、一看...
java调用C语言动态链接库
Java通过JNI调用C++动态链接库(第三方库)实现全过程Demo 1、创建c++动态链接库,实现一些功能的封装,例如扫描设备,作为第三方库来使用 2、创建c++中间件(本质也是DLL),用来调用和进一步的封装第三方库,添加...
基于java实现的c++动态链接库调用案例。该项目主要技术点就是有C++编写串口读写实现,以DLL动态链接库的形式提供接口,由java调用动态链接库接口实现串口消息发送。
适用人群:想通过jna的方式...资源内容:java通过jna方式调用C++动态链接库,多种传参实际案例。具体包括基础数据类型、指针类型、结构类型、结构指针类型,里面带有例子dll,可直接运行。 注意事项:需要用32位的jdk
NULL 博文链接:https://zjhdreams.iteye.com/blog/2191064
实际应用中,需要把生成的engine和推理程序给c#,java或者各种调用,可以把它写为一个对外的接口,供给别人使用。
完整演示使用JNI开发JAVA和C++交互的例子,本示例提供了在Windows和linux上的编译脚本。请参考JNI的相关文章,如有疑问可留言
Java调用windows本地API,或者是c、c++等语言写的动态链接库。第一次见识。值得学习。
该文档详细介绍了在Java代码中如何调用C或C++代码。主要思想是:将C或C++代码大包成动态链接库,然后共Java代码在执行时调用。
java调用c++动态链接库生成的矩阵运算程序 功能比较简单 但学习Java如何调用C++足够了
JNI,JNATIVE,JAWIN 使用Java调用DLL动态链接库的方案我知道的有四种:JNI,Jnative,Jawin,Jacob