浅析C#语言调用DLL

开发 后端
本文介绍C#语言调用DLL,包括C#语言是一种简单但功能强大的编程语言,用于编写企业应用程序,C#语言从C。C++语言演化而来,在语句、表达式和运算符方面使用了许多C++ 功能等。

一、写在前面

C#语言是一种简单但功能强大的编程语言,用于编写企业应用程序。

C#语言从C和C++语言演化而来,在语句、表达式和运算符方面使用了许多C++ 功能。

C#语言在类型安全性、版本转换、事件和垃圾回收等方面进行了相当大的改进和创新。

C#语言提供对常用API 样式(如 .NET 框架、COM、自动化和 C 样式 API 等)的访问。

和大多数程序员一样,你一定使用过DLL。也一定曾感受到它的带给你程序设计和编码上的好处。我想和大家探讨一个主题:如何利用C#语言调用DLL(动态链接库), 其实在很大意义上讲,DLL让我们更灵活的组织编写我们的应用程序,作为软件设计者,可以根据它来达到很高的代码重用效果。下面我来介绍一下在C#语言调用DLL。

二、准备工作

我们需要对接下来要做的事情做个简单的介绍,在本文我们将利用C#语言创建一个名为 MyDLL.DLL的动态链接库,在这个动态链接库文件中我们将提供两个功能:一个是对两个参数交换他们的值;另一个功能是求两个参数的最大公约数。然后创建一个应用程序使用这个DLL,运行并输出结果。

三、创建DLL

让我们创建以下两个C#代码文件:

  1. usingSystem;  
  2. namespaceMyMethods  
  3. {  
  4. publicclassSwapClass  
  5. {  
  6. publicstaticboolSwap(reflongi,reflongj)  
  7. {  
  8. ii=i+j;  
  9. j=i-j;  
  10. ii=i-j;  
  11. returntrue;  
  12. }  
  13. }  
  14. }  

 

  1. usingSystem;  
  2. namespaceMyMethods  
  3. {  
  4. publicclassMaxCDClass  
  5. {  
  6. publicstaticlongMaxCD(longi,longj)  
  7. {  
  8. longa,b,temp;  
  9. if(i>j)  
  10. {  
  11. a=i;  
  12. b=j;  
  13. }  
  14. else  
  15. {  
  16. b=i;  
  17. a=j;  
  18. }  
  19. temp=a%b;  
  20. while(temp!=0)  
  21. {  
  22. a=b;  
  23. b=temp;  
  24. temp=a%b;  
  25. }  
  26. returnb;  
  27. }  
  28. }  
  29. }  

需要注意的是:我们在制作这两个文件的时候可以用Visual Studio.NET或者其他的文本编辑器,就算是记事本也可以。这两个文件虽然不在同一个文件里面,但是他们是属于同一个namespace(名称空间),这对以后我们使用这两个方法提供了方便。当然他们也可以属于不同的名称空间,这是完全可以的。但只是在我们应用它们的时候就需要引用两个不同的名称空间,所以建议还是写在一个名称空间下面比较好。

接下来的任务是把这两个cs文件变成我们需要的DLL文件。方法是这样的:在安装了Microsoft.NET Framework的操作系统上,我们可以在Windows所在目录下找到Microsoft.NET目录。在这个目录下面提供了C#的编译器CSC.EXE,运行csc/target:library/out:MyDLL.DLL MySwap.cs MyMaxCD.cs

完成后可在本目录下面找到我们刚才生成的MyDLL.DLL文件/target:library 编译器选项通知编译器输出 DLL 文件而不是 EXE 文件。后跟文件名的 /out 编译器选项用于指定 DLL 文件名。

如果/out后面不跟文件名编译器,使用第一个文件 (MySwap.cs) 作为 DLL 文件名。生成的文件为MySwap.DLL文件。

OK!我们创建动态链接库文件的任务完成了,现在是我们享受劳动成果的时候了。以上介绍C#语言调用DLL。

【编辑推荐】

  1. C# 4.0 Dynamic关键字全解析
  2. 浅谈C#中构造函数和成员函数
  3. C#回调函数及API应用浅析
  4. 详解C# Object.Equals函数
  5. C#调用Windows API函数
责任编辑:佚名 来源: IT168
相关推荐

2009-08-18 16:31:19

Visual C#编写

2009-08-04 09:30:33

C#调用ImageAn

2009-08-03 12:57:27

C#调用DLL

2009-08-07 17:22:36

C#调用dll导出函数

2009-08-03 16:28:53

Java语言与C#语言

2010-01-26 14:10:22

Visual C++

2009-08-12 10:35:50

C#调用ActiveX

2009-08-14 09:15:28

C#调用构造函数

2009-08-05 09:40:02

C#调用DLL函数

2009-08-05 16:41:36

C#调用VC dll

2009-09-02 17:16:01

冒泡排序

2009-08-05 09:30:39

C#调用DLL函数

2009-08-06 17:57:14

C# webServiC# WebServi

2009-08-17 13:18:01

C#调用Windows

2009-08-28 17:19:15

C#语言学习

2009-09-18 15:53:37

C# 3.0新语言特性

2009-09-18 09:59:39

C# CLR

2009-08-05 09:22:43

C#调用VC DLL

2009-08-05 16:49:42

C#中调用dll

2009-08-21 11:24:16

C#异步调用
点赞
收藏

51CTO技术栈公众号