首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

是否所有dll都可以被c#调用

2014-01-23 
是不是所有dll都可以被c#调用?最近在编一个c#的程序,需要显示外部采集卡的信息,不过外部的那个采集卡厂商

是不是所有dll都可以被c#调用?
最近在编一个c#的程序,需要显示外部采集卡的信息,不过外部的那个采集卡厂商提供了一个dll文件可以被调用,只有VB,c的例程。例程里面参数大多是句柄,不知道那个dll文件c#是不是可以调用?并且问一下,是不是所有的dll,都可以被c#,c,vb这种语言调用?

[解决办法]
如果是非托管(应该是这个)要用 dllimport来引入,如果是托管的,直接在项目中右键 引用
[解决办法]
这种可以是可以,不过我想肯定还有很多结构体。你得去看看C#调用C++的DLL的相关资料,数据类型对应关系。
[解决办法]

引用:
再问一下:我怎么能知道那个dll是什么语言编写的?(不过我确定是非托管类型。)
这是在c中调用的声明:
extern "C" HANDLE __declspec(dllimport)  __stdcall MP425_OpenDevice(long dev_num);
extern "C" long __declspec(dllimport)  __stdcall MP425_CloseDevice(HANDLE hDevice);

c#中就不知道怎么办了?第一是句柄对应的参数是什么?
第二是不知道原来厂商提供的这个dll是什么语言编写的?

c++的
[解决办法]
CLR  我觉得理论上是的
[解决办法]
如果提供的dll是com规范的,是直接可以添加引用的,需要注册一下com。
如果dll是非com,非托管,则用dllimport来加载dll里某个函数

热点排行