dll文件的生成和引用方法

dll文件的生成和引用方法

ID:8803422

大小:19.64 KB

页数:4页

时间:2018-04-08

dll文件的生成和引用方法_第1页
dll文件的生成和引用方法_第2页
dll文件的生成和引用方法_第3页
dll文件的生成和引用方法_第4页
资源描述:

《dll文件的生成和引用方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、一、动态链接库什么是动态链接库?DLL三个字母对于你来说一定很熟悉吧,它是DynamicLinkLibrary的缩写形式,动态链接库(DLL)是作为共享函数库的可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL副本的内容。和大多数程序员一样,你一定很使用过DLL吧。也曾感受到它的带给你程序设计和编码上的好错吧今天我想和大家探讨一个主题:如何在C#创建和调用DLL(动态链接库),其实在很大意义上而

2、讲,DLL让我更灵活的组织编写我们的应用程序,作为软件设计者,可一个根据它来达到很高的代码重用效果。下面我来介绍一下在C#中如何创建和调用DLL。二、准备工作  我们需要对我们接下来要做的事情做个简单的介绍,在本文我们将利用C#语言创建一个名为MyDLL.DLL的动态链接库,在这个动态链接库文件中我们将提供两个功能一个是对两个参数交换他们的值,另一个功能是求两个参数的最大公约数。然后创建一个应用程序使用这个DLL。运行并输出结果。1、MySwap.csnamespaceMyMethods{publicclassSwapClass{publicstaticboolSwap(reflongi,

3、reflongj){i=i+j;j=i-j;i=i-j;returntrue;}}}2、MyMaxCD.csnamespaceMyMethods{publicclassMaxCDClass{publicstaticlongMaxCD(longi,longj){longa,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;}returnb;}}}需要注意的是:我们在制作这两个文件的时候可以用VisualStudio.NET或者其他的文本编辑器,就算是记事本也可以。这两个文件虽然不

4、在同一个文件里面,但是他们是属于同一个namespace(名称空间)这对以后我们使用这两个方法提供了方便。当然他们也可以属于不同的名称空间,这是完全可以的,但只是在我们应用他们的时候就需要引用两个不同的名称空间,所以作者建议还是写在一个名称空间下面比较好。三、生成dll文件有两种方法:    1:傻瓜式操作打开VS2008,依次点击:菜单->文件->新建项目->项目类型visualC#(这里假设为该项目所取的名字是DllBuild)->类库(注意必须是类库),即新建一个由纯.cs类库文件组成的程序集,写好代码之后(例如写了一个名为DllTest.cs的类,该类的namespace取名为Dl

5、lTestNS),再依次点击:菜单->生成->生成DllBuild,这样你的DllBuild/DllBuild/bin/Debug文件夹或者DllBuild/DllBuild/obj/Debug文件夹里便会自动生成dll文件啦,该文件名称与项目名称一致,即为DllBuild.dll。2:使用VS命令行“我的电脑”中搜索“csc.exe”文件即可,比如我的csc.exe文件便是在:C:WINDOWSMicrosoft.NETFrameworkv3.5csc.exe。为了不至于每次编译dll时都要输入如此长的VS命令行路径,我们可以将该路径添加到系统环境变量中。然后点击“开始”->“

6、运行”,输入:csc /target:library/out:d:MyDLL.DLLd:MySwap.csd:MyMaxCD.cs这样便直接进行编译。会在d盘生成MyDLL.DLLOK!我们创建动态链接库文件的任务完成了,现在是我们享受劳动成果的时候了,下面我将介绍如何使用我们所创建的动态链接库文件四、使用DLL(测试)现在我们重新新建一个模板类型为ConsoleApplication(控制台应用程序)的项目,名为ConsoleApplication1,新建好项目之后,从资源浏览器中打开该项目,依次打开ConsoleApplication1ConsoleApplication1b

7、inDebug,将刚才生成的MyDLL.dll文件复制到Debug目录下,然后用添加引用。usingMyMethods;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){longa=4;longb=5;SwapClass.Swap(refa,refb);Console.Write("a={0}b={1}",a,b);Consol

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。