java調用c++接口
<link rel="stylesheet" href="https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c9715bcbac9/4c8b2fbfaddf.css" type="text/css" /><link rel="stylesheet" href="https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c9715bcbac9/4c8b38b8bad702ecfe21037ca964.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><style>pre{overflow-x: auto}</style>
1、編寫Java程序:HelloWorld
代碼如下:
package HelloWorld;public class HelloWorld { public native void sayHello(); public static void main(String[] args) { System.loadLibrary("Win32Project1"); HelloWorld tNative = new HelloWorld(); tNative.sayHello(); }}
2、Windows環境下,在cmd中編譯以上程序
編譯通過後,使用 javah -jni HelloWorld.HelloWorld命令,在src文件夾下生成HelloWorld_HelloWorld.h文件(注意,此處兩個HelloWorld,前一個指包名,後一個指類名)。
在執行完這一步後,能夠看到HelloWorld.java、HelloWorld.class、HelloWorld_HelloWorld.h這三個文件是位於同一個src文件夾下的,如下圖所示(注意,此處的src文件夾是在eclipse中創建HelloWorld這個java project時自動生成的,並非手動創建的):
3、編寫C++程序
打開Visual Studio 2013,執行“文件—>新建—>項目—>Visual C++—>Win32 項目—>確定—>下一步–>選擇DLL(D)–>完成”。
注意,設置好項目名稱以及項目文件所在的位置,如下圖標紅處所示:
創建好項目之後,將之前生成的HelloWorld_HelloWorld.h頭文件添加到項目的“頭文件”中,並在源文件中添加helloworld.cpp這一文件,如下圖所示:
接下來,在helloworld.cpp文件中輸入以下代碼:
// helloworld.cpp : 定義DLL應用程序的導出函數。//#include "stdafx.h"#include "HelloWorld_HelloWorld.h"#include<iostream>using namespace std;JNIEXPORT void JNICALL Java_HelloWorld_HelloWorld_sayHello(JNIEnv *, jobject){ cout << "hello world" << endl;}
右鍵該項目的項目名,選擇“生成”。注意,此時會報錯‘error C1083: 無法打開包括文件: “jni.h”: No such file or directory’,解決的辦法是:將你電腦上Java文件夾下,jdk目錄的include目錄下的jni.h文件(比如,D:Javajdk1.8.0_144include)以及win32目錄下的jni_md.h文件(比如,D:Javajdk1.8.0_144includewin32)都拷貝到Visual Studiovcinclude目錄下即可解決該問題。然後再次右鍵項目名稱,選擇“生成”。
4、完成以上步驟後
打開你Visual Studio的C++項目源文件所在的文件夾(也就是在創建C++項目時你所選擇的“位置”的目錄),將Debug目錄下的dll文件拷貝到Java文件夾下,jdk目錄的bin目錄中,如下圖所示:
5、重新編譯HelloWorld.java程序
最後運行,即可得到Hello World這個結果。
-
微信發起位置共享是什麼意思
微信發起位置共享的意思就是把其當前的位置告訴共享的好友,對方通過你發送的信息,打開後就可以看到你在什麼位置,位置共享給大家的生活帶來了很多的便利,如請人吃飯或者是約好一起去遊玩,只需要把位置共享給對方就可以了。發起微信發起位置共享方法如下:成功登錄微信...
-
手機屏幕上出現黑斑怎麼解決
1、重新開關機。2、切換到不同界面,查看是否都是同一位置出現此情況。初步排除圖案背景問題。3、恢復出廠設置嘗試。4、如果問題依舊,需要對實物機器進行實際檢測。建議將手機送至就近的服務中心進行檢測,服務中心會根據檢測結果確定手機的具體問題以及配件。...
-
電腦被限速的解決方法
1、安裝打開QQ管家主面板,點擊右下角的‘工具箱’。2、需要使用到的軟件有ARP防火牆,在安裝上網右過點擊下載,下載完成後會提示是否安裝的。3、下載完成後提示是否安裝,安裝的過程中有可能會段網,在需要使用到網絡的時候不要安裝。4、安裝完成,ARP防火牆已經啓用,如果...
-
電腦電源壞了有什麼症狀,電腦電源壞了的症狀
1、不通電開不了機。2、開機能點亮,但是黑屏,硬盤燈一直亮。3、能開機能啓動到windows,但是一運行大點的程序就重啓,這是供電不足導致。(大多數是電容爆漿)4、電腦在運行過程中,無故重啓。...