网上都有很多在
windows平台下JAVA调用C/C++方法的介绍说明。但是,在此过程中,绝大多数都是利用VC等其他工具来进行DLL的生成。试想一下,在
eclipse平台开发了JAVA,突然又要打开VC的工作环境,多不爽!何况如果内存不够的话,还得先把其中一个退出。到需要再重新打开,多费劲啊!!
现在,我们让这一系列的工作都在eclipse上完成!
首先、安装eclipse3.2。
这个安装过程我就不在这里介绍了,大家都懂。
第二、安装MinGW。
1.用户可以直接登陆以下地址下载MinGW http://prdownloads.sourceforge.net/mingw/MinGW-5.0.3.exe
2. 鼠标双击执行安装文件,选择“
Download and Install
”,下一步
3.选择软件安装的版本,这里我们选择“
Candidate
”,下一步
4.选择安装的编译器
1) g++ compiler
2) g77 compiler
3) Objective C Compiler
4) MinGW Make
下一步
5. 选择安装路径,下一步
这里用默认路径C:\MinGW
6. 等待下载软件版本及安装。安装会自动完成,但是你要保证你的网络是可用的。
第三、MinGW的环境变量设置
1. 系统变量里面的
Path
添加“
MinGW
安装目录
\bin;
”
(
例如
;C:\MinGW\bin;)
2. 系统变量里添加
C_INCLUDE_PATH,值为:C:\MinGW\include
3. 系统变量里添加
CPLUS_INCLUDE_PATH,值为:C:\MinGW\include\c++\3.4.2;C:\MinGW\include\c++
\3.4.2\mingw32;C:\MinGW\include\c++\3.4.2\backward;C:\MinGW\include
(这里要注意你的版本号哦)
第四、做一个小技巧修改
先将
MinGW
安装目录
\bin
底下的
mingw32-make.exe复制一份副本,将副本
更名为
make.exe (因为eclipse默认用了make,不是mingw32-make,当然,你也可以修改eclipse的设定,自己喜欢吧)。
第五、安装CDT插件。
1、 到
Eclipse
的网站上面找到
CDT
插件的压缩包,然后下载至电脑硬盘上;
下载地址:
(http://www.eclipse.org/cdt/downloads.php
)
2、就像你安装其他安装插件一下的方式安装CDT插件吧。怎么安装不是关键问题,按你喜欢,能用就可以了。
第六、简单介绍CDT的使用吧。
1. 新建一个
C++
项目
点击菜单栏上的
File / New / Standard Make C++ Project
如果想建立一个
C
项目则选择
Standard Make C Project;
2. 输入
New Project
名字,直接按
Finish
完成
Project
添加
3. 给项目新建一个的源文件,点击菜单栏上的
File / New / File
4. 接着出现文件添加的窗口,在
File Name
栏里面写上文件名
C++
的源文件后缀名为
cpp
如
hello.cpp
而
C
的源文件后缀名为
c
如
hello.c
5.
编辑刚刚添加的
hello.cpp
文件,添加一段
C++
的代码,内容如下:
#include
<
iostream
>
using
namespace
std;
int
main()
{
cout
<<
"
hello world!!\n
"
;
return
1
;
}
若你新建的项目为
C
的话,则需添加相应的
C
代码,内容如下:
#include
"
stdio.h
"
int
main()
{
printf(
"
Hello world!\n
"
);
return
1
;
}
添加一个编译命令
Target Name:MAKE FILE
Builder Command:g++ hello.cpp -g -o run
这里如果是
c
环境就改成
gcc hello.c -g -o run
双击
MAKE FILE
,此时
Eclipse
在项目文件的根目录创建一个
run.exe
的文件,此文件根据
hello.cpp
代码编译生成。
双击
run.exe
可以预览效果,控制台输出结果:Hello world!
第七、让我们开始进入真正的工作吧!
The Java side
1
.建立
Java
工程
JavaHello
,编写
java
类
// Hello.class
,这里主要包名,因为后面的函数命名同包名也有联系的。
package
test;
class
Hello
{
public
native
void
sayHello();
static
{
System.loadLibrary(
"
hello
"
);
}
public
static
void
main(String[] args)
{
Hello h
=
new
Hello();
h.sayHello();
}
}
2.用命令生成头文件
在
bin
目录下建立批处理文件,名称随意,用
bat
作为扩展名就行了。这里命名为
run.bat
内容为:
set java_home
=
F:\dev
-
software\dev
-
soft\jdk\jdk1.
5.0
set path
=%
java_home
%
\bin
set class_path
=%
java_home
%
\lib;
%
java_home
%
\lib\dt.jar;
%
java_home
%
\lib\tools.jar
javah
-
jni test.Hello
@pause
保存,执行(可以双击执行,也可在eclipse的“Run As”调用bat批处理文件来执行),则在
bin
目录下生成
test_Hello.h
文件。内容为:
/*
DO NOT EDIT THIS FILE - it is machine generated
*/
#include
<
jni.h
>
/*
Header for class test_Hello
*/
#ifndef _Included_test_Hello
#define
_Included_test_Hello
#ifdef __cplusplus
extern
"
C
"
{
#endif
/*
* Class: test_Hello
* Method: sayHello
* Signature: ()V
*/
JNIEXPORT
void
JNICALL Java_test_Hello_sayHello
(JNIEnv
*
, jobject);
#ifdef __cplusplus
}
#endif
#endif
The C side
-
Compiling the Library
1.
建立标准
C
工程
Cpro
,并生成
dll
文件
1
)
将生成的头文件
test_Hello.h
拷贝到
C
工程
Cpro
下
2
)
编写
C
类
Hello.c
,内容为:
#include
<
jni.h
>
#include
"
test_Hello.h
"
#include
<
stdio.h
>
JNIEXPORT
void
JNICALL Java_test_Hello_sayHello
(JNIEnv
*
env, jobject obj)
{
printf(
"
Hello world !\n
"
);
return
;
}
3
)
在
C
工程
Cpro
下建立
hello.def
文件(用于定义导出的函数),内容为:
EXPORTS
Java_test_Hello_sayHello
4
)在
C
工程
Cpro
下建立
makefile
文件,内容为:
step1:
gcc
-
c
-
I
"
F:\dev-software\dev-soft\jdk\jdk1.5.0\include
"
-
I
"
F:\dev-software\dev-soft\jdk\jdk1.5.0\include\win32
"
-
o hello.o Hello.c
step2:
gcc
-
shared
-
o hello.dll hello.o hello.def
5)
再
Make Targets
视图下,为
Cpro
工程添加两个
Make Target
(对应
makefile
文件的内容),如下图:
6
)
Make Targets
视图下双击
step1
,在
C
工程
Cpro
下
生成
hello.o
文件。
7)
Make Targets
视图下双击
step1
,在
C
工程
Cpro
下
生成
hello.dll
文件。
JAVA
调用
DLL
1.
将
hello.dll
拷贝到
Java
工程
JavaHello
下。
2.
运行
Hello.java
,则可以看到输出结果:
Hello world!
注:如果上面不是
C
工程而是是
C++
工程
1
)
将
Hello.c
改为
Hello.cpp
2
)
将
makefile
内容改为:
step1:
g
++
-
c
-
I
"
F:\dev-software\dev-soft\jdk\jdk1.5.0\include
"
-
I
"
F:\dev-software\dev-soft\jdk\jdk1.5.0\include\win32
"
-
o hello.o Hello.cpp
step2:
g
++
-
shared
-
o hello.dll hello.o hello.def
3)
其他的几乎都不用改变也可以。
相关推荐
Eclipse C/C++ 自动补全的cdt补丁,补全.
里面打包有最新版的eclipse for C/C++ 已集成好CDT插件 不需要另外安装,并且有MINGW 和 JRE 可供选用 更新时间2020/06
视频:...实现使用C和C++自动补全,CDT 版本10.2。目前可以用于stm32cubeide和CCS(Code Composer studio)使用。直接拷贝到CCS安装路径下:C:\ti\ccs\eclipse\plugins\
Eclipse CDT (C/C++ Development Tooling) CDT全称C/C++ Development Toolkit,是完全用 Java 实现的开放源码项目。对于我们入门者来说,可以认为它就是Eclipse中使用的一个插件,可以用来开发C/C++项目
在本文中,您将学习如何使用C/C++开发工具箱(C/C++DevelopmentToolkit,CDT),它是可用于Eclipse的最佳C/C++工具箱。C和C++语言都是世界上最流行且使用最普遍的编程语言,因此Eclipse平台(EclipsePlatform)提供...
eclipse下的C/C++插件,使eclipse能创建c和c++工程
Eclipse 搭建C/C++开发环境 cdt-master-7.0.2 Eclipse 搭建C/C++开发环境 cdt-master-7.0.2
C 和 C++ 语言都是世界上最流行且使用最普遍的编程语言, 因此 Eclipse 平台(Eclipse Platform)提供对 C/C++ 开发的支持一点都不足为奇。 因为 Eclipse 平台只是用于开发者工具的一个框架,它不直接支持 C/C++;它...
V. Eclipse+CDT+MinGW 进行JAVA调用C/C++ 34 一、 安装eclipse3.2。 34 二、 安装MinGW。 34 1、 下载MinGW 34 2、 安装 34 3、 安装版本 34 4、 选择安装的编译器 34 5、 选择安装路径,下一步 35 6、 等待下载...
本来想全部上传,文件太大超过50M,eclipse和cdt,MinGW安装问题不大,安装 MinGW-6.3.exe 配置环境变量,在path里加入D:\MinGW\bin 路径 安装 eclipse-SDK-3.7-win32.zip help--》install new software--》add--...
CDT eclipse c/c++ 插件,对应的eclipse版本为4.X.X
我曾用Eclipse之前的版本加上CDT组件开发C/C++程序。但是也许是因为对配置不够熟悉的缘故,配置起来非常痛苦,使用起来也觉得特别别扭,所以最后还是不得不换用了VC2005Express。Eclipse3.3的下载页面中,针对不同的...
在Linux下安装 1.Eclipse SDK 2.JRE Java运行环境 3.CDT(C/C++ Development Toolkit) 然后,有一个简单的C++开发工程编译实例
详细介绍了在Eclipse平台下配置CDT环境,使用CDT进行C/C++开发的详细手册!!
Eclipse 平台进行 C/C++ 开发Eclipse插件
CDT全称C/C++ Development Toolkit,是完全用 Java 实现的开放源码项目。对于我们入门者来说,可以认为它就是Eclipse中使用的一个插件,可以用来开发C/C++项目
在Eclipse中搭建C/C++环境 .在eclipse中 已经默认有创建c工程需要的cdt , 但是没有MinGW ,需要手动安装MinGW . 配置成功后在eclipse中新建 c工程时会出现 MinGW GCC. 内有MinGW的安装程序.
Eclipse+MinGW+CDT设置文档,包括MinGW手动安装,环境变量设置等
3.2 Eclipse IDE for C/C++ Developers ............................................................................ 14 4. 示例程序 ..........................................................................
如何在Linux使用Eclipse + CDT开发C C++程序 主要在LINUX下配置,试过了,方法正确