如何引用dll文件?

 我来答
陈MC乐园
高粉答主

2018-03-18 · 每个回答都超有意思的
知道小有建树答主
回答量:95
采纳率:93%
帮助的人:2万
展开全部
  • 方法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);

嫣诗结b
2018-02-17 · TA获得超过1607个赞
知道小有建树答主
回答量:1112
采纳率:37%
帮助的人:397万
展开全部
我帮你解释一下吧,你这里的调用dll用词不准
在。net平台上,调用dll文件有2种含义
1、调用托管dll,即你使用。net平台开发的dll,属于托管代码
2、调用非托管dll,即传统的dll,一般是C++,VB,DELPHI等等开发出来的,属于非托管代码。
从你的意思中看出来你现在是调用托管的dll,方法是 “在解决方案管理器” - “解决方案”(或项目) 中的任意地方, 右键“添加引用”,“浏览”,选择你需要调用的dll文件,确定即可,该dll会自动复制到bin目录,打包时也会自动复制到你发布的地方。
添加完了引用,现在如何调用呢?

如果有命名空间则引入命名空间,比如你的y。dll里面,是a命名空间,有一个b类,然后有一个无参数静态方法c
那么调用方法就是a.b.c(),跟你普通的使用类是一样的

然后是非托管dll
需要添加dll的名称,以及方法,也就是你所用到的dll的每个方法都需要添加一次,
[DllImport("msvcrt.dll")]
public static extern int puts(string c);

你这点分数对不住我一个一个敲出来的字啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式