关闭

关闭

封号提示

内容

首页 C_制作dll文件.doc

C_制作dll文件.doc

C_制作dll文件.doc

上传者: wangserh 2013-05-07 评分 3 0 33 4 149 暂无简介 简介 举报

简介:本文档为《C_制作dll文件doc》,可适用于人文社科领域,主题内容包含用VisualC#做DLL文件作为软件设计和开发人员大都有过使用DLL(动态连接库)的经历DLL的产生使得我们的应用程序在可维护性、代码的重复使用等符等。

用VisualC#做DLL文件作为软件设计和开发人员大都有过使用DLL(动态连接库)的经历DLL的产生使得我们的应用程序在可维护性、代码的重复使用等方面都有了很大的提高。以前用的DLL一般都是用VisualC、Delphi或者VB等编程语言来编写的这种DLL的编写和使用我们大都已经比较习惯了。作为新一代的程序开发语言VisualC#到底是如何编写和使用DLL的呢!本文就试着就这方面的问题来进行简单的介绍。  VisualC、Delphi或者VB等编程语言来编写成的DLL文件在编译完成过以后产生DLL文件已经是一个可以直接供计算机使用的二进制文件。但用VisualC#编译器生成的受管代码(managedcode)虽然也是二进制文件但不是可以直接供计算机使用的原始代码(机器语言代码)。他实质上是一种中间语言(IL)代码这种IL代码要转变成可以供计算机直接使用的原始代码就需要经过"下一代窗口服务"(NextGenerationWindowsServices,简写为NGWS)runtime的即时编译器(即JIT)进行编译。  经过以上比较我们可以看出用VisualC#生成的DLL文件已经和以前的DLL文件有了本质上的区别。用VisualC#生成的DLL文件在程序设计中更多的表现为一种类(Class)或者类库(ClassLibrary)。本文就试着通过一个具体程序的例子按照下面步骤来具体介绍:  ()创建一个DLL源代码。  ()编译此DLL源代码生成DLL文件。  ()用此DLL来创建一个简单的客户端程序。一程序设计开发及运行环境:  ()微软视窗专业版  ()NetFrameWorkSDKBeta二创建一个DLL源代码(dllcs)  由于用VisualC#创建的DLL此DLL是不需要执行的界面所以在DLL文件就没有必要定义Main()函数来作为应用程序执行的入口。Dllcs的源程序代码如下:  Dllcs:namespaceDll定义了名称空间在调用DLL的时候就要导入此名称空间。{ publicclassShow定义了一个类在程序中就要来继承此类。 {   publicstringMessages()  定义了一个方法此方法的作用就是返回下面字符串。  {   return"欢迎使用VisualC#做的DLL文件!"  } }}  通过此DLL的源程序可以看出此DLL表现为一个小型的类库这是因为在此DLL中封装了名字叫DLL的名称空间在此名称空间中又定义了一个Show类在此类中有一个方法就是Messages。虽然定义的内容相对少了些但却相当完全。三编译此DLL源代码生成DLL文件  要把DLL源代码编译成DLL文件就需要配置好编译器Cscexe的参数和开关。我们知道编译器Cscexe可以把源代码编译成四种不同的文件分别是控制应用程序、代码库、windows应用程序、模块程序。编译命令具体如下:csctarget:exemyProjcs创建一个myProjexe控制程序csctarget:winexemyProjectcs创建一个myProjexe的windows程序csctarget:librarymyProjectcs创建一个myProjdll代码库csctarget:modulemyProjectcs创建一个myProjdll模块  对于如何配置编译器Cscexe的其他参数和开关可以参考稍前发表的文章《如何用CSCexe来编译VisualC#的代码文件》在此篇文章里面有比较详细的介绍。通过以下编译命令可以得到mydlldll文件:Cscr:systemdllt:libraryout:mydlldlldllcs四.用此DLL来创建一个简单的客户端程序(testexe)  通过以上的源程序代码可以看到生成的mydlldll文件虽然是一个以DLL为扩展名实际上是一个类库和我们经常用到的Systemdll、SystemWindowsFormsdll等这些文件相似。同样用mydlldll创建程序也和用以上这些类库创建程序相类似。就是第一步就是导入此名称空间Dll。然后在去继承里面封装好的类Show再调用类中定义好的方法Messages。下面就是按照以上的步骤创建的客户端的源程序代码(testcs):testcs:usingDll导入此名称空间usingSystempublicclassGetMessage{ publicstaticvoidMain() {  Showhi=newShow()继承名称空间中定义的Show类  ConsoleWriteLine(hiMessages())调用此类中的方法 }}  在把testcs编译成执行程序中要在编译命令中添加一个引用就是引用mydlldll文件。具体的编译命令如下:cscr:mydlldllr:systemdlltestcs  编译完成就会生成testexe。执行此文件就会得到以下执行界面:     图:在客户端制作调用DLL的应用程序执行界面五总结:  通过此篇文章可以看出用VisualC#制作一个DLL其实并不是一件很复杂的事件但对DLL的调用却和以往有了较大区别其中最主要的原因是用VisualC#或者其他Net程序开发语言制作的DLL和以前的DLL有了实质上的区别。它已经不是严格意义上的动态连接库了而是一个类或者类库。

精彩专题

职业精品

上传我的资料

热门资料

资料评价:

/ 3
所需积分:0 立即下载

意见
反馈

返回
顶部

Q