Java中调用C++代码的实现
来源:互联网 发布:c语言闰年个数计算 编辑:程序博客网 时间:2024/05/17 02:03
JNI为 Java Native Interface 即Java本地接口,使用此种方式可以对C/C++代码进行调用,其在本质上是对C/C++生成的动态库进行调用而不是直接对C/C++代码进行调用
Java代码如下:
public class TestJNI{
//JNI在本质上是调用C/C++的动态库来实现的,而不是直接
//调用C/C++的代码块
static{
System.loadLibrary("Helloword");
}
public native void show();
public static void main(String argv){
TestJNI test=new TestJNI();
test.show();
}
}
在命令行进行编译
javac TestJNI.java
在命令行进行生成C/C++头文件
javah TestJNI
注意:进行生成头文件时候不要在文件名后面加上后缀
这时在存放java源文件地方就会生成一个C/C++的源文件TestJNI.h
下面开始进行生成C/C++的动态库操作:
在VC 6.0中创建动态衔接库项目,将TestJNI.h拷贝到新建的目录下面,使用#include “TestJNI.h”找到使用javah TestJNI生成的头文件
进入JDK目录下的include目录下将jni.h和win32目录下的jni_md.h两个头文件拷贝到新建的工程中
C++代码:
#include <iostream>
#include "TestJNI.h"
JNIEXPORT void JNICALL Java_TestJNI_show
(JNIEnv *, jobject){
std::cout<<"Helloword!!!!";
}
注意:在编译的时候如果提示找不到,jni.h头文件,那么就打开TestJNI.h头文件将include <jni.h> 改为#include "jni.h"既可以解决
编译后会在工程文件夹Debug目录下生成一个 .dll的动态库文件,将这个文件拷贝进入到Java JDK目录下bin目录下
将*.dll文件名改为Helloword.dll
然后在控制台下 运行java程序 java TestJNI
成功调用C++代码所写的程序!!!!
- Java中调用C++代码的实现
- Java代码中调用C/C++代码
- java中调用C语言代码
- java中调用C语言代码
- Java中如何调用C/C++代码
- java中如何调用c/c++代码
- Eclipse中编写Java调用C代码
- 在C/C++中调用Java代码
- 在java中实现调用简单的c程序
- 在java中实现调用简单的c程序
- Android中java调用C的实现jniNDK
- JNI编程中C调用Java实现。
- C调用java代码
- C调用java代码
- java 调用C代码
- cocos2d-x 中多线程的c/c++代码通过JNI调用java代码
- cocos2d-x 中多线程的c/c++代码通过JNI调用java代码
- cocos2d-x 中多线程的c/c++代码通过JNI调用java代码
- 下班创业忙 8小时以外财富经
- link-cut-tree
- .net C# 事务处理
- RESTful科普
- a标签target属性
- Java中调用C++代码的实现
- 加密锁 vs. 云授权
- 关于求sizeof(struct)“不正确”的问题
- 动态隐藏ALV的行和列
- MYeclipse配置svn
- ppt2007 无法翻页
- 软件分享 数码大师破解版
- 一台服务器上多tomcat配置
- 为什么有那么多人喜欢蜡笔小新,看完这个视频你就会知道