Java使用Eclipse_cdt和MinGw编写C++/java,jni的小例子
来源:互联网 发布:剪辑音乐软件手机软件 编辑:程序博客网 时间:2024/06/05 16:38
Java使用Eclipse_cdt和MinGw编写C++/java,jni的小例子
1.建立java工程。工程名为JniJava2.在工程里面建立包:com.cdc.jni,和文件夹jni.2.在com.cdc.jni里面建立类Main.java.文件内容如下:package com.cdc.jni;public class Main {public static void main(String[] args) {Main main=new Main();int i=main.getInt();System.out.println("java打印:来自C++的数据="+i);}static{System.loadLibrary("libDll");}native int getInt();}3.在cmd里面进入到上述工程JniJava2里面的src目录下,执行命令:javah com.cdc.jni.Main,刷新JniJava2工程,可以看到这个工程下出现了com_cdc_jni_Main.h文件。文件内容如下:/* DO NOT EDIT THIS FILE - it is machine generated */#include <jni.h>/* Header for class com_cdc_jni_Main */#ifndef _Included_com_cdc_jni_Main#define _Included_com_cdc_jni_Main#ifdef __cplusplusextern "C" {#endif/* * Class: com_cdc_jni_Main * Method: getInt * Signature: ()I */JNIEXPORT jint JNICALL Java_com_cdc_jni_Main_getInt (JNIEnv *, jobject);#ifdef __cplusplus}#endif#endif将此文件复制到jni文件夹中(这一步可以不做)。4.建立c++工程,工程名为Dll.建立一个文件夹为src,将上一步生成的com_cdc_jni_Main.h文件复制到src文件夹中,同时在src下面建立文件com_cdc_jni_Main.cpp文件,文件内容如下:#include"com_cdc_jni_Main.h"JNIEXPORT jint JNICALL Java_com_cdc_jni_Main_getInt (JNIEnv *env, jobject obj){jint ret=5;return ret;};5.选中c++工程,按alt+enter,在Build----Settings----Tool Settings-----MinGW C++ Linker目录栏下的Miscellaneous选项下,在linker flags处填入:-Wl,--add-stdcall-alias。或者选中工程,右键properties,C/C++ Build/Settings/Tool Settings/MinGW C++ Linker/Miscellaneous,在右侧的Linker flags里面输入-Wl,--add-stdcall-alias,确定。选中C++工程,点击工具栏上的Build 'Debug' for project 'Dll',点击后会在Dll工程下面生成Binaries和Debug文件夹,在Debug文件夹下有libDll.dll文件。6.将上一步中生成的libDll.dll文件复制到java工程JniJava2中的jni文件夹下。7.选中java工程,右键依次点击run---run configurations---Main,在点击Arguments,在Vm arguments处填入如下:-Djava.library.path="D:\android\JNI\JniJava2\jni;${env_var:PATH}"其中,D:\android\JNI\JniJava2\jni表示放置libDll.dll文件的位置,其它是固定的,包括引号。8.运行java程序。前提:安装了相关环境,并将jdk里面的jni.h和jni_md.h拷贝到MinGW下的include路径下。
0 0
- Java使用Eclipse_cdt和MinGw编写C++/java,jni的小例子
- jni C语言调用java的小例子(java返回string)
- JAVA JNI调用C编写的dll
- 使用eclipse_cdt调试网上的开源c软件
- Java的Jni编写
- Eclipse CDT MinGW生成C++动态链接库及Java JNI的调用例子
- [JNI] Eclipse直接完成JAVA调用C/C++ (Eclipse上使用CDT结合MinGW)
- [JNI] Eclipse直接完成JAVA调用C/C++ (Eclipse上使用CDT结合MinGW)
- [JNI] Eclipse直接完成JAVA调用C/C++ (Eclipse上使用CDT结合MinGW)
- [JNI] Eclipse直接完成JAVA调用C/C++ (Eclipse上使用CDT结合MinGW)
- [JNI] Eclipse直接完成JAVA调用C/C++ (Eclipse上使用CDT结合MinGW)
- [2014.1.31] Eclipse、MinGW、JNI编写C++生成dll, Java端调用的完整示例(附java.lang.UnsatisfiedLinkError解决方法)
- [2014.1.31] Eclipse、MinGW、JNI编写C++生成dll, Java端调用的完整示例(附java.lang.UnsatisfiedLinkError解决方法)
- JNI 使用总结 (JAVA 调用C语言编写的DLL/SO/SL文件)
- Java调用C/C++编写的动态连接库-JNI
- Java调用C++: JNI的使用入门
- jni的使用(java调用c++)
- 整理MINGW编译dll使用JNI被java调用的几种方式
- Hadoop集群三种作业调度算法介绍
- 判断点是否在三角形内
- Java反射机制
- 全面理解Unity加载和内存管理
- 使用scrapy进行大规模抓取(二)
- Java使用Eclipse_cdt和MinGw编写C++/java,jni的小例子
- 【BZOJ】【P2783】【JLOI2012】【树】【题解】【dfs】
- ZOJ 3316 Game 一般图最大匹配带花树
- 黑马程序员-->7K面试题-->交通灯管理系统
- Android Wear Eclipse开发环境搭建
- 以后的技术方向
- 【学习笔记----数据结构11-线索二叉树】
- iOS 创建.写入.读取plist文件
- php操作字符串转换成数组、、、parse_str(字符串转换成PHP数组)