现在在做一个项目,要调用C/C++的动态链接库,问题是这些库是不确定的,随时可能增加,请问在这种情况下有没有可能实现,思路是什么? DLLImport(“DLL文件”)]
修饰符 extern 返回变量类型 方法名称 (参数列表) --------这种方式肯定行不通吧?补充下,对于C/C++库这里可以给出合理的编写规范。目的:设计一个程序,在程序指定目录放入库文件后,可以在程序中调用到库文件中的函数。先谢谢了。
修饰符 extern 返回变量类型 方法名称 (参数列表) --------这种方式肯定行不通吧?补充下,对于C/C++库这里可以给出合理的编写规范。目的:设计一个程序,在程序指定目录放入库文件后,可以在程序中调用到库文件中的函数。先谢谢了。
除非dll文件名和到处函数的函数名以及函数签名和返回值都约定好不变
1、利用反射实现动态平台调用。核心是利用DynamicDllFuntionInvoke方法。
2、利用Marshal.GetDelegateForFunctionPointer 实现动态平台调用。这两种方法,都是动态实现平台调用,过程远比静态平台调用复杂,很容易出错!而且,事先必须清楚C++的函数原型,这点跟函数指针是一样道理。所以,楼主最好还是有静态调用的办法,就多些手工活而已,出问题能很快定位