在C#中如何创建和调用DLL

一、写在前面

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.ySwap.cs

using System;
namespace MyMethods
{
    public class SwapClass
    {
   public static bool Swap(ref long i,ref long j)
    {
    i = i+j;
    j = i-j;
    i = i-j;
    return true;
}
}
}

2.yMaxCD.cs

using System;
namespace MyMethods
{
   public class MaxCDClass
   {
      public static long MaxCD(long i, long j)
      {
  long a,b,temp;
  if(i>j)
  {
    a = i;
    b = j;
  }
  else
  {
    b = i;
    a = j;
  }
  temp = a % b;
  while(temp!=0)
  {
    a = b;
    b = temp;
    temp = a % b;
  }
  return b;
      }
   }
}
}

时间: 2024-11-02 13:26:11

在C#中如何创建和调用DLL的相关文章

调用dll文件,本应该创建该文件,但是在指定文件夹中并未显示出该文件

问题描述 调用dll文件,本应该创建该文件,但是在指定文件夹中并未显示出该文件 string a= "D://nihao.docx"; Char[] result = new Char[1024]; int check; check = CPPDLL.createCombinationFile(a.ToCharArray()); //创建该文件,成功返回0,运行时返回0,但在指定目录下并未出现该文件 check = CPPDLL.writeCombinationFile(a.ToCha

在ASP文件中调用DLL

在ASP文件中调用DLL 动态联接库(DLL)是加快应用程序关键部分的执行速度的重要方法,但有一点恐怕大部分人都不知道,那就是在ASP文件也能通过调用DLL来加快服务器的执行速度,下面我简单的介绍一下在ASP文件调用DLL的步骤. 首先,必须得有DLL文件,本例是通过VB5.0创建ActiveX DLL文件,这个文件模拟了一个掷色子的过程. 在VB5.0的环境下,新建一个工程,并双击新建工程窗口中ActiveX DLL图标,VB将自动为项目添加一个类模块,并将该项目类型设置为ActiveX DL

求助:C#动态调用DLL的,为什么getProcAddress无法获得NATIVE DLL中的导出函数?

问题描述 ①自己用C++写了个DLL在其中声明了一个导出函数extern"C"__declspec(dllexport)LRESULTCALLBACKhookProc(intnCode,WPARAMwParam,LPARAMlParam){//实现内容忽略return1;} 生成DLL后,因为是C++编译器编译的,会改变方法名,于是我用了VIEWDLL查看了导出函数名称叫_hookProc@12②调用DLL代码[DllImport("kernel32.dll",Ch

浅析C/C++中动态链接库的创建和调用_C 语言

DLL 有助于共享数据和资源.多个应用程序可同时访问内存中单个DLL 副本的内容.DLL 是一个包含可由多个程序同时使用的代码和数据的库.下面为你介绍C/C++中动态链接库的创建和调用. 动态连接库的创建步骤: 创建Dll有两种方式. 一.创建Non-MFC DLL动态链接库 1.打开File -> New -> Project选项,选择Win32 Dynamic-Link Library ->sample project ->工程名:DllDemo 2.新建一个.h文件DllDe

实例学习如何在ASP中调用DLL

本文通过VB5.0创建ActiveX DLL文件,这个文件模拟了一个掷色子的过程,向大家介绍如何在ASP中调用DLL的文章专题. 动态联接库(DLL)是加快应用程序关键部分的执行速度的重要方法,但有一点恐怕大部分人都不知道,那就是在ASP文件也能通过调用DLL来加快服务器的执行速度,下面我简单的介绍一下在ASP文件调用DLL的步骤.  首先,必须得有DLL文件,本例是通过VB5.0创建ActiveX DLL文件,这个文件模拟了一个掷色子的过程.  在VB5.0的环境下,新建一个工程,并双击新建工

php中创建和调用webservice接口示例

  这篇文章主要介绍了php中创建和调用webservice接口示例,包括webservice基本知识.webservice服务端例子.webservice客户端例子,需要的朋友可以参考下 作为开发者来讲,要想写webservice接口或者调用别人的webservice接口,首先需要了解什么是webservice.简单说, WebService就是一些站点开放一些服务出来, 也可以是你自己开发的Service, 也就是一些方法, 通过URL,指定某一个方法名,发出请求,站点里的这个服务(方法),

java中如何调用DLL方法

前段时间项目需要使用调用DLL来控制POS机外设,如钱箱和小票打印机.顾客显示屏等,于是,我便开始了java调用DLL中的方法的探索,事实上,网上的例子还是很多的,一些外部包的例子也有很多,但每个人的实际情况都有所不同,尽管只是一个很简单的调用,也花了我不少时间,在这里分享一下我的经验吧. 我是通过一个外部的JAR包来间接来获得DLL文件的句柄 的,它就是jacob了,这是java com brige的简写,呵呵, 这个名称起得非常形象吧,我用的版本是jacob 1.9的,你可以到它的官方网站去

js中匿名函数的创建与调用方法分析

 匿名函数就是没有名字的函数了,也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数.最经常用作回调函数(callback)参数的值,很多新手朋友对于匿名函数不了解.这里就来分析一下. function 函数名(参数列表){函数体;} 如果是创建匿名函数,那就应该是: function(){函数体;} 因为是匿名函数,所以一般也不会有参数传给他. 为什么要创建匿名函数呢?在什么情况下会使用到匿名函数.匿名函数主要有两种常用的场景,一是回调函数,二是直接执行函数. 回调函数,像a

js中匿名函数的创建与调用方法

  function 函数名(参数列表){函数体;} 如果是创建匿名函数,那就应该是: function(){函数体;} 因为是匿名函数,所以一般也不会有参数传给他. 为什么要创建匿名函数呢?在什么情况下会使用到匿名函数.匿名函数主要有两种常用的场景,一是回调函数,二是直接执行函数. 回调函数,像ajax的异步操作,就需要回调函数.这里就不详解.关于直接执行函数,我看一个例子就明白了: 代码如下   <script language="javascript"> var a