5 回答

TA貢獻1821條經(jīng)驗 獲得超6個贊
調(diào)用格式如下:
[DllImport("ex.dll", EntryPoint = "method")]
public static extern void method(int a);
其中ex.dll為C++DLL名,method為函數(shù)名, 這里的int a為C++中方法的參數(shù)轉(zhuǎn)換。
例:C++DLL名:Interface.dll,函數(shù)為voidCopMemFree(void *vp);
調(diào)用格式為:
[DllImport("Interface.dll", EntryPoint = "CopMemFree")]
public static extern void CopMemFree(IntPtr vp);
其實C#調(diào)用C++dll主要就是C++與C#的參數(shù)轉(zhuǎn)換比較困難。

TA貢獻1856條經(jīng)驗 獲得超17個贊
在main函數(shù)中調(diào)用其中定義的變量,直接調(diào)用就可以了。
public class Test{
public static void main(String[] args){
int data = 15; //定義的局部變量。
mathod_a(data); //在靜態(tài)方法中調(diào)用,你遇到的問題應(yīng)該是這個吧。這里的方法必須是靜態(tài)的。
B b = new B();
b.method_b(data);//定義一個對象,在對象的方法中調(diào)用。
}
public static void method_a(int num){
System.out.println("method_a調(diào)用main中的變量");
}
}
class B{
method_b(int num){
System.out.println("method_b調(diào)用main中的變量");
}
}
添加回答
舉報