网上都有很多在
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平台上实现Java对C/C++的直接调用,避免使用额外的工具如Visual C++来生成DLL文件。这不仅提高了开发效率,还确保了整个开发流程在统一的环境中进行。 #### 二、准备工作 1. **安装...
- **MinGW的介绍**:MinGW是一个轻量级的开发环境,它包含了一系列开源工具,使得开发者可以在Windows上使用GCC来编译C和C++代码。 - **MinGW的下载**:你可以从MinGW官网或者第三方源下载MinGW安装包。 - **...
此外,需将MinGW目录下的`mingw32-make.exe`重命名为`make.exe`,以便Eclipse调用。 2. **安装Eclipse**:安装完成后,将CDT插件包中的`features`和`plugins`目录复制到Eclipse的安装目录下,以启用C/C++开发功能。...
#### 五、Eclipse + CDT + MinGW 进行Java调用C/C++ - **安装Eclipse 3.2。** - **安装MinGW:** - 下载并安装。 - 设置环境变量。 - **安装CDT插件:** - 下载并安装。 - **使用CDT:** - 新建C++项目。 - ...
C 和 C++ 语言都是世界上最流行且使用最普遍的编程语言, 因此 Eclipse 平台(Eclipse Platform)提供对 C/C++ 开发的支持一点都不足为奇。 因为 Eclipse 平台只是用于开发者工具的一个框架,它不直接支持 C/C++;它...
至此,一个完整的Eclipse+CDT+MinGW+gdb开发环境已经搭建完成,你可以开始编写、编译和调试C/C++代码了。通过这种方式,开发者可以享受到Eclipse的强大功能,同时利用MinGW和gdb进行高效的代码构建和调试,提升开发...
Eclipse是一款广泛使用的开源集成开发环境(IDE),主要用于Java编程,但通过添加特定插件,也可以支持C/C++等其他语言的开发。在Eclipse中运行C/C++程序,需要安装一个名为MinGW(Minimalist GNU for Windows)的...
【描述】: 本文将深入探讨如何利用Eclipse平台进行C/C++编程,重点介绍Eclipse C/C++ Development Toolkit (CDT)的功能和使用方法。 【标签】: "C语言", "Eclipse IDE", "CDT" 【正文】: Eclipse,最初设计为Java...
【Eclipse和MinGW简介】 Eclipse是一款强大的开源开发集成环境,...总之,Eclipse与MinGW的结合为C/C++开发者提供了一个功能全面、易于使用的开发环境,无论对于初学者还是经验丰富的程序员,都是一个值得尝试的选择。
本文将详细介绍如何在Windows XP系统上安装和配置Eclipse、CDT(C/C++ Development Toolkit)、MinGW(Minimalist GNU for Windows)以及Qt库,以创建一个强大的C++和Qt应用开发环境。 首先,Eclipse是一款广泛应用...
Eclipse CDT(C/C++ Development Tooling)是Eclipse集成开发环境(IDE)的一个插件,专为C和C++开发者设计。本教程“Eclipse C、C++(CDT)开发入门.pdf”旨在帮助初学者配置和入门Eclipse CDT,以便于高效地进行C...
Eclipse 是一个强大的开源集成开发环境(IDE),广泛应用于Java、C、C++等多种编程语言。Eclipse MINGW.rar 文件则是一个包含了Eclipse IDE 用于C/C++开发的版本,特别针对Windows操作系统进行了优化,因为MINGW是...
CDT是Eclipse的一个插件,提供了C和C++的开发支持,包括语法高亮、代码自动完成、调试器等。 **CDT的安装:** 在Eclipse中,通过“Help” > “Eclipse Marketplace”搜索“CDT”,找到C/C++ Development Tools并...
在 Eclipse CDT 中,使用 MinGW 工具链创建一个新的 C++ 项目。项目类型可以选择 “Executable”,并命名该项目。 2. **编写源代码** 参照 Windows 编程的基本框架,编写源代码,定义窗口过程函数和主函数。在这...
### Eclipse + CDT + ...通过上述步骤,您可以在 Windows 平台上使用 Eclipse IDE 来编写和编译 C++ 程序,而无需依赖 Microsoft 的 IDE。这不仅提供了一种灵活且开放的开发方式,还充分利用了 Eclipse 强大的功能集。
为了能够在Eclipse上进行C/C++的开发,需要安装特定的插件——CDT(C/C++ Development Tools),同时还需要安装MinGW作为编译工具链。本文将详细介绍Eclipse环境下C/C++开发所需的安装配置步骤。 #### 二、所需工具...
通过这种方式,Eclipse与MinGW的结合使得Windows上的C/C++开发变得更加方便,开发者可以享受到强大的IDE功能和跨平台的编译器优势。同时,由于MinGW是开源的,因此开发者可以根据自己的需求对其进行定制和扩展,...
使用Eclipse CDT开发的C/C++应用,经过适当的编译器设置和依赖库管理,可以轻松地在UNIX或Linux环境中进行移植。这意味着,开发者可以在熟悉的Windows环境下编写代码,而无需担心跨平台问题,大大降低了开发难度和...