日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

java byte数组转string_Java调用C++接口(初步了解)

發布時間:2025/3/19 c/c++ 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java byte数组转string_Java调用C++接口(初步了解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(最近聽到同事說了一下java調c++接口的事,于是就有點想了解下,然后就各種查資料記錄下自己的簡單實現過程,環境windows)

  • 1.有java基礎的都可以啦,新建一個類,如下(很簡單~)
package

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方法去驗證)
@Test

打印結果如下:

此時,就已經完成簡單的對c++接口調用啦,over...over!!!

---------------------------初步學習,共同進步-----------------------

總結

以上是生活随笔為你收集整理的java byte数组转string_Java调用C++接口(初步了解)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。