• [转] 程序集和Dll的区别


    首先这是一个最简单的讲法:(引用)

    什么是程序集?

    可以把程序集简单理解为你的.NET项目在编译后生成的*.exe或*.dll文件.
    嗯,这个确实简单了些,但我是这么理解的.详细:


    程序集和命名空间的区别?

    一个程序集可以跨越n个命名空间,一个命名空间也可以包含n个程序集.

    如果说命名空间是类库的逻辑组织形式,那么程序集就是类库的物理组织形式。只有同时指定类型所在的命名空间及实现该类型的程序集,才能完全限定该类型。(摘抄自《精通.NET核心技术--原来与架构》 电子工业出版社)

    也就是说,你要创建一个类的实例,必须知道该类的 命名空间(这个一般都知道)+程序集

    下面是个高深点的

    程序集的特性:
    1.程序集是自我描述的
    2.版本的相互依赖在程序集的清单里进行了记录。
    3.程序集可以并行加载。
    4.应用程序使用应用程序域来确保其独立性。

    程序集的结构:
    由描述它的元数据,描述导出的类型和方法的类型元数据,MSIL代码和资源组成。

    程序集的清单:
    1.标识
    2.属于该程序集的一个文件列表。
    3.引用程序集的列表。
    4.一组许可请求。
    5.导出的类型不是程序集清单的一部分,除非这些类型放在一个模块中。  

    下面是DLL的解释

    所谓动态链接库(Dynamic-Link Libraries,简称DLLs),简单地说就是一个可执行模块,其扩展名为.DLL,模块中包含了可以被其他应用程序或其他DLLs使用的例程和资 源。跟 一般的的可执行程序扩展名为.EXE不同的是,DLLs没有通常的主程序,但它有多个执行入口。

    DLLs的特点在于它的代码是在运行期动态地链接到调用它的程序中的,DLLs一旦加载,就能被多个应用程序或其它DLLs共享。

  • 相关阅读:
    Shell脚本学习笔记2
    Shell脚本学习笔记1
    华大MCU硬件SMBus的应用
    华大MCU的应用中的问题记录
    STM32定时器输入捕获功能应用——超声波模块
    STM32定时器应用——PWM
    利用KEIL的软件仿真的逻辑分析仪功能观察GPIO的波形
    周期性过程数据通信和非周期性邮箱数据通信
    JDBCUtils
    反射
  • 原文地址:https://www.cnblogs.com/RobotTech/p/1942883.html
Copyright © 2020-2023  润新知