java調(diào)用c++接口 我該怎么用Java程序調(diào)用C#生成的dll文件?
我該怎么用Java程序調(diào)用C#生成的dll文件?首先,您需要編寫一個(gè)本機(jī)Java方法。公共類測(cè)試{靜態(tài){System.loadLibrary文件(“mydll”)public static void
我該怎么用Java程序調(diào)用C#生成的dll文件?
首先,您需要編寫一個(gè)本機(jī)Java方法。公共類測(cè)試{靜態(tài){System.loadLibrary文件(“mydll”)public static void main(string[]args){new test()。Test()}public native void Test()}
2是用javac編譯的。使用javah生成頭文件。生產(chǎn)頭文件位于執(zhí)行這些命令的目錄中。
3、編寫c代碼。包括此頭文件。在頭文件中實(shí)現(xiàn)測(cè)試功能。
4、編譯的C語(yǔ)言程序。將C轉(zhuǎn)換成庫(kù)文件的DLL后綴。
5、在本例中,只需將庫(kù)文件放在項(xiàng)目的根目錄中。
怎么調(diào)用第三方DLL導(dǎo)出的Interface?
最好將接口指針放在智能指針中:C/C代碼#include<boost/smart?ptr>?include<caster>voidintrusiveptraddref(ITest*p){assert(p)p->AddRef()}voidintrusiveptrrelease(ITest*p){assert(p)p->Release()}typedefboost::intrusiveptr<itetest>itestptrobj=itestptr(method)())但是您的問題是在調(diào)用DLL時(shí)檢查方法的值。確保您的DLL和exe在同一目錄中。