博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java + jni + mingw实例开发(基于命令行窗口模式)
阅读量:6907 次
发布时间:2019-06-27

本文共 2007 字,大约阅读时间需要 6 分钟。

 java+ jni + mingw

参考网址:

测试jni程序

安装Mingw

 

第一步 安装JAVA

1.1    到Oracle的官网可以下载JDK安装包,安装好后,需要正确配置环境变量。

 

1.2    JAVA环境变量设置

 

在环境变量中添加下面的变量

PATH

%JAVA_HOME%\bin

JAVA_HOME

D:\ProgramFiles\Java\jdk1.6.0_10

CLASSPATH

.;%JAVA_HOME%\lib;%JAVA_HOME%\bin.

 

1.3 测试Java配置是否成功

运行java, javac, java -vesion

如果没有出错,说明配置成功

 

1.4测试代码Java

简单的hellworld代码

public class main{  // 程序的入口  public static void main(String args[]){    // 向控制台输出信息    System.out.println("欢迎java01班的同学");  }}
cmd窗口执行:

Javac main.java

Java main

 

之前在测试后面的代码,出现一堆问题,找了半天居然是Java环境变量配置没有成功,运行java, javac, java –vesion都显示没有问题,Eclipse下面也可以正常编译Java代码,浪费了不少时间。

第二步 安装MinGw

2.1 百度或者Google可以下载MinGw安装

 

2.2配置MinGw环境变量。

在安装过程中自动设置好,在cmd中输入gcc测试一下,假如显示gcc: no input file ,则安装已成功。否则,自己把c:/mingw/bin的目录手动加到环境变量中,方法如下:

1.右键“我的电脑”==>属性==>“高级”==>“环境变量”

2.在用户变量中,假如有path变量,就选择“编辑”,在原先值后面加个分号,在把MinGWbin目录加上就好了。假如没有path就自己“新建”一个,再把MinGWbin目录加上。

3.测试方法同上,over

 

2.3 MinGW进行编译和创建一个终端应用程序

下面是一个简单的c语言程序的代码示例,

hello.c的文件中试试看:

#include 
int main(int argc, char **argv){printf ("Hello\n");return (0);}

Cmd窗口:

gcc  –o hello hello.c

hello

 

第三步 本地测试

3.1 编写Java程序

MyJni.java

public class MyJni {   //使用JNI的关键字native   //这个关键字决定我们那些方法能在我们的C文件中使用   //只须声明,不必实现    public native void display();    public native double sum(double x,double y);        //这个是到时候调用我们写好的C文件   //现在用不上   static {    System.loadLibrary("MyJni");    }       public static void main(String[] args) {       //到时候测试用方法现在用不上       new MyJni().display();       System.out.println(new MyJni().sum(2.0, 3.0));    }}

编译 javacMyJni.java生成MyJni.class文件

3.2 由class文件生成头文件

javah -classpath . -jni MyJni

3.3 编写本地的c代码

MyJni.c

//必须的头文件jni.h#include 
//导入我们需要实现的本地方法#include "MyJni.h"#include
JNIEXPORT void JNICALL Java_MyJni_display (JNIEnv *env, jobject obj){ printf("Hello World tom!!"); return;} JNIEXPORT jdouble JNICALL Java_MyJni_sum (JNIEnv *env, jobject obj, jdouble a, jdouble b){ return a + b;}

3.4 编译c代码

gcc -shared -Wl,--kill-at –o MyJni.dll MyJni.c

3.5 运行 java MyJni

Hello World tom!! 5.0

转载地址:http://prrdl.baihongyu.com/

你可能感兴趣的文章
安装 CentOS 7 后必做的七件事
查看>>
线程间的通信
查看>>
工厂模式(转)
查看>>
翻看之前写过的博客有感
查看>>
比较规则
查看>>
【Linux】linux经常使用基本命令
查看>>
Java设计模式论述
查看>>
谷歌如何测试软件 —— 第三部分
查看>>
NSURLRequest with UserAgent
查看>>
闲聊桌面应用开发[Win16->Win32->ATL/WTL/MFC->WinForm->WPF/Silverlight/WinRT]
查看>>
Android SwipeRefreshLayout 官方下拉刷新控件介绍
查看>>
ArcGIS Pro体验01——申请、下载、安装
查看>>
Weblogic12 集群部署
查看>>
ueditor的过滤、转义、格式丢失问题
查看>>
Qt widget--杭州小笼包
查看>>
C# 轻松读取、改变文件的创建、修改、访问时间 z
查看>>
WPS2012交叉引用技巧,word比wps这点强更新參考文献
查看>>
内存映射文件
查看>>
分布式缓存BeIT Memcached简介
查看>>
JetBrain WebStorm 注册码
查看>>