網(wǎng)上都有很多在windows平臺(tái)下JAVA調(diào)用C/C++方法的介紹說(shuō)明。但是,在此過(guò)程中,絕大多數(shù)都是利用VC等其他工具來(lái)進(jìn)行DLL的生成。試想一下,在eclipse平臺(tái)開(kāi)發(fā)了JAVA,突然又要打開(kāi)VC的工作環(huán)境,多不爽!何況如果內(nèi)存不夠的話,還得先把其中一個(gè)退出。到需要再重新打開(kāi),多費(fèi)勁啊!!現(xiàn)在,我們讓這一系列的工作都在eclipse上完成!
首先、安裝eclipse3.2。
這個(gè)安裝過(guò)程我就不在這里介紹了,大家都懂。
第二、安裝MinGW。
1.用戶可以直接登陸以下地址下載MinGW http://prdownloads.sourceforge.net/mingw/MinGW-5.0.3.exe
2. 鼠標(biāo)雙擊執(zhí)行安裝文件,選擇“Download and Install”,下一步
3.選擇軟件安裝的版本,這里我們選擇“Candidate”,下一步
4.選擇安裝的編譯器
1) g++ compiler
2) g77 compiler
3) Objective C Compiler
4) MinGW Make
下一步
5. 選擇安裝路徑,下一步
這里用默認(rèn)路徑C:\MinGW
6. 等待下載軟件版本及安裝。安裝會(huì)自動(dòng)完成,但是你要保證你的網(wǎng)絡(luò)是可用的。
第三、MinGW的環(huán)境變量設(shè)置
1. 系統(tǒng)變量里面的Path添加“MinGW安裝目錄\bin;”(例如;C:\MinGW\bin;)
2. 系統(tǒng)變量里添加 C_INCLUDE_PATH,值為:C:\MinGW\include
3. 系統(tǒng)變量里添加 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 (這里要注意你的版本號(hào)哦)
第四、做一個(gè)小技巧修改
先將MinGW安裝目錄\bin底下的 mingw32-make.exe復(fù)制一份副本,將副本更名為make.exe (因?yàn)閑clipse默認(rèn)用了make,不是mingw32-make,當(dāng)然,你也可以修改eclipse的設(shè)定,自己喜歡吧)。
第五、安裝CDT插件。
1、 到Eclipse的網(wǎng)站上面找到CDT插件的壓縮包,然后下載至電腦硬盤(pán)上;
下載地址:(http://www.eclipse.org/cdt/downloads.php )
2、就像你安裝其他安裝插件一下的方式安裝CDT插件吧。怎么安裝不是關(guān)鍵問(wèn)題,按你喜歡,能用就可以了。
第六、簡(jiǎn)單介紹CDT的使用吧。
1. 新建一個(gè)C++項(xiàng)目 點(diǎn)擊菜單欄上的 File / New / Standard Make C++ Project
如果想建立一個(gè)C項(xiàng)目則選擇Standard Make C Project;
2. 輸入New Project名字,直接按Finish完成Project添加
3. 給項(xiàng)目新建一個(gè)的源文件,點(diǎn)擊菜單欄上的 File / New / File
4. 接著出現(xiàn)文件添加的窗口,在File Name欄里面寫(xiě)上文件名
C++的源文件后綴名為cpp 如hello.cpp
而C的源文件后綴名為c 如hello.c
5.
編輯剛剛添加的hello.cpp 文件,添加一段C++的代碼,內(nèi)容如下:
若你新建的項(xiàng)目為C的話,則需添加相應(yīng)的C代碼,內(nèi)容如下:
添加一個(gè)編譯命令
Target Name:MAKE FILE
Builder Command:g++ hello.cpp -g -o run
這里如果是c環(huán)境就改成gcc hello.c -g -o run
雙擊MAKE FILE,此時(shí)Eclipse在項(xiàng)目文件的根目錄創(chuàng)建一個(gè)run.exe的文件,此文件根據(jù)hello.cpp代碼編譯生成。
雙擊run.exe可以預(yù)覽效果,控制臺(tái)輸出結(jié)果:Hello world!
第七、讓我們開(kāi)始進(jìn)入真正的工作吧!
// Hello.class ,這里主要包名,因?yàn)楹竺娴暮瘮?shù)命名同包名也有聯(lián)系的。
在bin目錄下建立批處理文件,名稱隨意,用bat作為擴(kuò)展名就行了。這里命名為run.bat
內(nèi)容為:
保存,執(zhí)行(可以雙擊執(zhí)行,也可在eclipse的“Run As”調(diào)用bat批處理文件來(lái)執(zhí)行),則在bin目錄下生成test_Hello.h 文件。內(nèi)容為:
1) 將生成的頭文件test_Hello.h拷貝到C工程Cpro下
2) 編寫(xiě)C類Hello.c,內(nèi)容為:
3) 在C工程Cpro下建立hello.def文件(用于定義導(dǎo)出的函數(shù)),內(nèi)容為:
4)在C工程Cpro下建立makefile文件,內(nèi)容為:
5) 再Make Targets視圖下,為Cpro工程添加兩個(gè)Make Target(對(duì)應(yīng)makefile文件的內(nèi)容),如下圖:
6) Make Targets視圖下雙擊step1,在C工程Cpro下生成hello.o 文件。
7) Make Targets視圖下雙擊step1,在C工程Cpro下生成hello.dll 文件。
1. 將hello.dll拷貝到Java工程JavaHello下。
2. 運(yùn)行Hello.java,則可以看到輸出結(jié)果:
Hello world!
1) 將Hello.c改為Hello.cpp
2) 將makefile內(nèi)容改為: