5 回答
TA贡献1943条经验 获得超7个赞
调用格式如下:
[DllImport("ex.dll", EntryPoint = "method")]
public static extern void method(int a);
其中ex.dll为C++DLL名,method为函数名, 这里的int a为C++中方法的参数转换。
例:C++DLL名:Interface.dll,函数为voidCopMemFree(void *vp);
调用格式为:
[DllImport("Interface.dll", EntryPoint = "CopMemFree")]
public static extern void CopMemFree(IntPtr vp);
其实C#调用C++dll主要就是C++与C#的参数转换比较困难。
TA贡献1789条经验 获得超8个赞
在main函数中调用其中定义的变量,直接调用就可以了。
public class Test{
public static void main(String[] args){
int data = 15; //定义的局部变量。
mathod_a(data); //在静态方法中调用,你遇到的问题应该是这个吧。这里的方法必须是静态的。
B b = new B();
b.method_b(data);//定义一个对象,在对象的方法中调用。
}
public static void method_a(int num){
System.out.println("method_a调用main中的变量");
}
}
class B{
method_b(int num){
System.out.println("method_b调用main中的变量");
}
}
添加回答
举报