java byte数组转string_Java调用C++接口(初步了解)
(最近聽到同事說了一下java調c++接口的事,于是就有點想了解下,然后就各種查資料記錄下自己的簡單實現過程,環境windows)
- 1.有java基礎的都可以啦,新建一個類,如下(很簡單~)
ps:這里我定義了一個類,類名和方法名自己取就好了,關鍵點就是用native取修飾你要調用的方法就好。
- 2.接下來就需要對這個類進行編譯了。(由于要生成c++能引入頭文件,所以需要將這個類編譯出一個 *.h 文件。這里我在編譯的時候遇到了坑,查資料說再java8后,javah 這個命令被javac -h代替了,我這里的jdk是12的,所以當時搞了半天都沒弄出結果。)
2.1 找到你上面創建那個類所在的物理路徑位置,進入,然后執行cmd,如下:
進入到類所在文件目錄執行以上命令即可(注意jdk版本)執行成功后,會在你類的目錄中生成.h文件。如下:
同時還生成了.class文件,這里我們只用到這個.h文件2.2準備好.h頭文件后,接下來我們就需要寫c++代碼去實現這個方法了(代碼很基礎的,不懂的可以網上查查。我這里用的是vs2013編譯器寫的)
2.2.1新建一個控制臺應用程序,如下:
名字自己定義就好2.2.2 接下來,注意選擇dll,如下:
2.2.3 然后需要導入幾個.h文件和之前編譯出來的.h文件到工程的頭文件中。列表如下:
這里需要注意的點是:1:其它幾個文件可以在你的jdk中找到。2:要將你自己生成的那個.h文件中對jin.h的進入方式改一下,改成引號方式引入,如下:
2.2.4 好了,以上工作做好了后就可開始寫C++代碼了,如下:
#include寫好后,就可以編譯生成dll文件了。(代碼很簡單,就是對字符串拼接后返回,只有幾行。其他兩個方法主要是用來對string 和jstring進行轉換用的。可以網上找到。)dll文件(動態鏈接庫)位置在 你所建項目的Debug目錄下。如下:
- 3.接下來就是將這個dll文件添加到你的java工程依賴庫中了。這個就不再細說,怎么添加其他依賴的就怎么添加這個dll就好了。
- 4.最后就是對這個native方法進行調用、測試了。由于我是在之前一個spring項目中寫的,所以這里就直接在spring的test中取測試、驗證了。如下:(可以直接單獨寫一個main方法去驗證)
打印結果如下:
此時,就已經完成簡單的對c++接口調用啦,over...over!!!
---------------------------初步學習,共同進步-----------------------
總結
以上是生活随笔為你收集整理的java byte数组转string_Java调用C++接口(初步了解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python程序员搞笑段子_程序员才能看
- 下一篇: jieba是python中一个重要的标准