怎么在C#中添加用C语言开发的动态链接库dll文件(vs2010)

怎么在C#中添加用C语言开发的动态链接库dll文件(vs2010),第1张

在c#类里添加[DllImport("dll名.dll")]即可:

比如我用c开发了一个testdll.dll的dll文件,则我在c#类的构造函数前可以添加[DllImport("testdll.dll")],就把c开发的动态链接库添加进了c#项目里。

你的DLL必须是COM组件才能通过这种方式添加引用,如果不是就不行。

但是,如果不是COM组件,有另外一种方式使用dll,就是import里面的函数,需要做个包装类,在里面把dll中的方法包装一下,具体的可以网上搜搜C# import dll用法。

一.动态链接库(dll)结构

——dll中定义有两种函数:导出函数(export

function)和内部函数

(internal

function),导出函数可以被其他模块调用,内部函数只能在dll内部使用。我们在用c++定制dll文件时,需要编写的就是包含导出函数表的模块定义文件(.def)和实现导出函数功能的c++文件。下面以sample.dll为例介绍def文件和实现文件的结构:

——1.模块定义文件(.def)是由一个或者多个用于描述dll属性的模块语

句组成的文本文件,每个.def文件至少必须包含以下模块定义语句:

第一个语句必须是library语句,指出dll的名字。

exports语句列出被导出函数的名字。

可以使用description语句描述dll的用途(此句可选)。

""对一行进行注释(可选)

——2.实现文件(.cpp文件为例)

——实现入口表函数的.cpp文件中,包含dll入口点处理的api函数和导出

函数的代码。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11816058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存