我正在研究一個項目(Java),我需要評估可能用C++或Java編寫的用戶代碼。爲了評估代碼,我需要將一個參數傳遞給代碼並從中獲取返回值。我可以輕鬆地爲Java代碼做到這一點;只需爲用戶的類創建一個對象,然後使用該對象調用該函數。我在C++中遇到問題。從Java調用C++函數
我可以從Java調用C++函數並獲取其返回值的可能方法是什麼?我的代碼看起來像這樣(我不能在這裏給出確切的代碼)。
C++代碼
#include<stdio>
int[] function(int a[]) { } // A Simple function that takes
//an array and reverses it and returns it`
的Java從那裏上述函數被調用
int a[]; //The array I will pass
int rev[] = Somehow call C++ code from here and pass array a to it.
我看了網上說JNI可以使用,但它不允許我使用的代碼現有的代碼,它要求將int數組更改爲jint。有什麼辦法可以達到我的目的嗎?我只想將數組傳遞給現有的C++代碼並獲取其返回值。
代碼從'jint'轉變爲'int' – SJuan76
@BobJarvis包裝:這是從Java調用和C++方法而不是相反。我還寫了我在互聯網上找到的一種方式,以及爲什麼我不使用它 – user3215014
@ SJuan76:請您詳細說明一下嗎? – user3215014