1、新建DLLTest文件夹,在该文件夹中新建source文件夹。
2、在source文件夹中造add.c。
3、win+R+cmd请出总指挥“命令行”,输入。
4、继续输入(路径也要随机应变)link /DLL /out:E:\VCfile\DLLTest\source\add.dll E:\VCfile\DLLTest\source\add.obj。
5、新建源文件call_dll.c或.cpp放到DLLTest文件夹,同时add.dll也复制过来。
6、编译,连接运行出现个5。调用成功。
注意事项:
C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
方法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)
C# 中如何调用DLL文件的方法是:
有命名空间则引入命名空间,dll里面,是a命名空间,有一个b类,然后有一个无参数静态方法c
那么调用方法就是a.b.c()。
然后是非托管dll
需要添加dll的名称,以及方法,也就是你所用到的dll的每个方法都需要添加一次,
[DllImport("msvcrt.dll")]
public static extern int puts(string c);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)