linux环境下 java调用c++的shared library(环境安装以及代码书写流程)
来源:互联网 发布:尚观linux视频 百度云 编辑:程序博客网 时间:2024/06/05 14:21
一:环境准备工作
安装的系统以及软件:Linux、Windown\win7 、JDK、Eclipse C++、GCC、MinGW
1.开发环境上安装JDK
2.下载Eclipse C++
下载地址: http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/junosr1
进行解压
3.下载MinGW
http://sourceforge.net/projects/mingw/files/ 下载mingw-get-setup.exe
4.GCC在linux上的安装
登录linux系统后,首先确认是否安装了gcc,使用命令: gcc --version
如果出现了
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
则说明系统已默认安装了gcc
如果未出现上述文字,则需要安装gcc,使用命令:$sudo apt-get install build-essential
二:验证环境是否安装正常
运行Eclipse C++,选择菜单:File—New—C++ Project
点击Finish;
右击项目 Make Targets—Create,target name为hello,点击ok
右击项目 Make Targets—Build,选中hello,点击build,出现如下图则表示build成功
打开cpp文件hello.cpp,在工作区域右击 Run as—Local C/C++ Application,在console控制台即可出现”!!!Hello World!!!“
以上步骤成功后,则表示C++开发环境搭建成功!
三:开发c++ shared library
1.将jni.h、jni_md.h(来自linux jdk目录下[/usr/jdk1.7_64/include])添加至C:\MinGW\include
2.打开Eclipse C++,File—New—C++ Project—Shape Library—Empty Project,toolchains选择 MinGW GCC.
3.新建class,编写cpp文件
文件内容:cpp文件
#include "JNITest.h"
#include "jni.h"
#include "stdio.h"
JNIEXPORT void JNICALL
Java_JNITest_print(JNIEnv *env,jobject obj, jstring content)
{
printf("hello-------");
return;
}
2.编写头文件
#include <jni.h>
#ifndef _Included_JNITest
#define _Included_JNITest
#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT void JNICALL Java_JNITest_print
(JNIEnv *, jobject, jstring);
#ifdef __cplusplus
}
#endif
#endif
编写完后,点击build项目,在项目的debug目录下生成了.o和dll文件,即表示编译成功。
3.编写java文件
public class JNITest
{
public static void main(String[] args)
{
//System.out.println(System.getProperty("java.library.path"));
JNITest jniTest = new JNITest();
jniTest.print();
}
static
{
System.loadLibrary("jnitest");
}
public native void print();
}
- linux环境下 java调用c++的shared library(环境安装以及代码书写流程)
- C函数调用机制(x86的linux环境下)
- C函数调用机制(x86的linux环境下)
- C函数调用机制(x86的linux环境下)
- linux下JAVA开发环境的安装
- linux下JAVA开发环境的安装
- Linux下Java环境的安装与
- 新手:linux环境配置以及linux下的pycharm安装
- 解决Linux环境下jdk安装的error while loading shared libraries: libjli.so 问题
- linux 下安装 java 环境
- Linux下安装java环境
- Linux下安装Java环境
- linux下安装java环境
- linux下安装java环境
- linux下安装java环境
- linux下安装java环境
- linux下安装java环境
- linux下安装java环境
- mysql的安装真不爽
- java simpleXml序列化反序列化小例子
- VS2010“起始页”不记录最近打开的工程——解决方案
- jquery过滤特殊字符',防sql注入
- vi/vim复制粘贴命令
- linux环境下 java调用c++的shared library(环境安装以及代码书写流程)
- 十大基础实用算法之归并排序和二分查找
- Bigip负载均衡器的问题汇总(1)
- 基于DM642的mpeg-2视频压缩编码之硬件结构
- 模板特殊化(Template specialization)
- HDU 1253 胜利大逃亡 NYOJ 523【BFS】
- 机器大端,小端的判别及int ,long, long long 尺寸大小的判别
- 两个Fragment之间的跳转
- 第九节swift 三元操作符 主标签