方法1:C#可以调用封装好的基于纯C的dll,但如果是C++的类,没有很简便的方法直接调用。使用方法:直接添加引用是不行的,使用DLLIMPORT。
2
方法2:把.dll放到exe程序所在的目录,在C#里声明,例如:[DllImport("DMC5480.dll", EntryPoint = "要调用的方法名", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)] public static extern IntPtr 要调用的方法名();
3
方法3:使用 dllImport 导入。具体参数还需要看到底怎么使用。也就说,在 C++ 里面的函数除了签名之外,还需要参数契约。 比如:
[DllImport("filename.dll")]
UInt32 d5480_download_firmware(UInt16 card, string filename)
这要看你引用dll文件是什么文件,是单纯的类库还是外部或自定义控件dll文件。\x0d\x0a\x0d\x0a如果是类库dll文件,引用的步骤是这样的:在解决方案管理器中,选中要添加引用的项目或网站-右击-添加引用-选择要添加的dll文件路径-确定,即可添加到项目中。但是具体引用时还需要引用相关命名空间。\x0d\x0a\x0d\x0a如果是控件dll文件,可以右击工具箱-选择项(需要稍等一会)-出现选择工具箱项-浏览-选择要添加的dll文件,工具里面就会自动出现相关控件,使用时可以按照vs自带控件一样拖动或双击。\x0d\x0a\x0d\x0a至于是否需要注册,那要看dll文件本身了,有的需要注册,有的不需要,根据不同的dll文件注册方法有不同的。方法1:配置属性->调试->环境:输入path=包含dll文件的文件夹路径
*** 作过程:项目-右键属性:
方法2:将dll文件拷贝到引用的.cpp所在的文件夹中
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)