zoukankan      html  css  js  c++  java
  • dll动态链接库

    Visual C#生成DLL文件——预备知识 

    DLL(Dynamic Link Library)文件即动态链接库文件,是一种可执行文件,允许程序共享执行特殊任务所必需的代码和其他资源。多数情况下带有dll扩展名(也可以 是.ocx文件:ActiveX控件文件,.cpl文件:控制面板文件,.drv文件:设备驱动程序文件等),向运行于Windows操作系统下的程序提 供代码、数据或函数。

    使用DLL的一些好处:

    使用较少的资源;

    推广模块式体系结构;

    简化部署和安装。      

    DLL不是独立运行的程序,是某个程序的一个部分,只能由所属的程序调用,用户不能也不需要打开它。 

    Visual C#生成DLL文件   

    VisualC、Delphi或者VB等编程语言来编写的DLL文件,在编译完成以后,产生DLL文件已经是一个可以直接供计算机使用的二进制文 件。但用Visual C#编译器生成的受管代码虽然也是二进制文件,但不是可以直接供计算机使用的原始代码,实质上是一种中间语言(IL)代码,需要经过"下一代窗口服务"( Next Generation Windows Services,简写为NGWS ) runtime的即时编译器(即JIT)进行编译。

    用Visual C#生成的DLL文件已经和以前的DLL文件有了本质上的区别。用Visual C#生成的DLL文件在程序设计中更多的表现为一种类(Class)或者类库(Class Library)。 

    Visual C#生成DLL文件——制作一个组件

    1.首先创建一个新类库工程文件

    File->New->Project->Visual C# Projects->Class Library。填入工程文件名称,并且选择文件要存放的目录。

    2.工程文件

    将Class1.cs改名自己要创建的文件名:myDll.cs,并填入代码。

    3.生成DLL文件

    编译工程文件:csc /target:library /out:myDll.DLL myDll.cs生成组件myDll.dll,该组件会在工程文件的bin\debug目录里,文件扩展名是dll。

    Visual C#生成DLL文件——测试DLL

    1.新建一个控制应用程序

    File->New->Project->Visual C# Projects->Console Application。通过这个控制应用程序来测试我们的组件。

    2. 为Namespace添加引用

    Project->Add reference,浏览到刚才生成的DLL,然后按OK。即将引用加到当前的工程文件的类里。

    3.调用myDll命名空间,创建myDll对象,并且调用它的方法和属性

    (1)使用namespace:using myDll;

    (2)创建myDll对象;

    (3)调用方法和属性。

     

    使用csc命令将.cs文件编译成.dll的过程

    很多时候,我们需要将.cs文件单独编译成.dll文件, 操作如下:

    打开命令窗口->输入cmd到控制台->cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

    转到vs.net安装的该目录下->执行csc命令csc /target:library File.cs->在该目录下产生一个对应名字的.dll文件(前提:把.cs文件放到C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322目录下)

     csc命令的方式很多,请参考以下

    译 File.cs 以产生 File.exe

    csc File.cs 编译 File.cs 以产生 File.dll

    csc /target:library File.cs 编译 File.cs 并创建 My.exe

    csc /out:My.exe File.cs 通过使用优化和定义 DEBUG 符号,编译当前目录中所有的 C# 文件。输出为 File2.exe

     csc /define:DEBUG /optimize /out:File2.exe *.cs 编译当前目录中所有的 C# 文件,以产生 File2.dll 的调试版本。不显示任何徽标和警告

     csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs 将当前目录中所有的 C# 文件编译为 Something.xyz(一个 DLL)

     csc /target:library /out:Something.xyz *.cs 编译 File.cs 以产生 File.dll

     csc /target:library File.cs这个就是我们使用最多的一个命令,其实可以简单的写成csc /t:library File.cs,另外的一个写法是 csc /out:mycodebehind.dll /t:library mycodebehind.cs,这个可以自己指定输出的文件名。

    csc /out:mycodebehind.dll /t:library mycodebehind.cs mycodebehind2.cs,这个的作用是把两个cs文件装到一个.dll文件里


  • 相关阅读:
    Spring Cloud 学习推荐
    Spring-Boot-应用可视化监控
    How to Convert a Class File to a Java File?
    Nacos Cluster Building
    基于Opentracing+Jaeger全链路灰度调用链
    Opentracing + Uber Jaeger 全链路灰度调用链,Nepxion Discovery
    What happened when new an object in JVM ?
    Sentinel Getting Started And Integration of Spring Cloud Alibaba Tutorials
    APK重签名总结
    C++矩阵运算库推荐
  • 原文地址:https://www.cnblogs.com/9421/p/1640625.html
Copyright © 2011-2022 走看看