CLR程序集的示例分析

发布时间:2021-12-03 14:54:19 作者:小新
来源:亿速云 阅读:162

小编给大家分享一下CLR程序集的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、CLR程序集教程之体系结构

程序集是一个抽象的概念,程序集是一个或多个托管模块、资源文件和描述程序构成程序集文件的“清单”的逻辑性分组。从上面对程序集的定义的概念可知程序集主要有两部分组成:托管模块,资源文件。下面我们一一介绍。

1、托管模块

托管模块是一个标准的32们的Microsoft Windows 可移植体(PE32)文件,或是一个标准的64们Windows可移值执行体(PE32+)文件。组成托管模块的各个部分:PE32(32位版本上)或PE32+(64位版本上)、CLR头、元数据、中间语言(Microsoft Intermediate Laguage,MSIL)代码。注意的事CLR(Common Language Runtime,CLR)不能直接处理托管模块。
A、PE头:主要是标识文件运行环境,PE32能在32位和64位的版本上运行,PE64则标识该托管模块只能在64位的版本上运行了。
B、CLR头:主要包含要求CLR版本、托管块块的入口方法(Main())等。
C、元数据:主要描述了该托管模块把义定的类型和成员和所引用的类型和成员。
D、中间语言代码:简单的说是通过编译器把源代码生成一另一种CLR能处理的代码。

可以说“元数据”在托管块块扮演着很重要的角色,编写代码时“智能感知”特性就是来自元数据、可以实现远程机器上重建对象状态等等。

2、资源文件

资源文件就比较简单了,包含一些应用程序所用的到的一些资源:GIF、JPEG......

3、清单

主要列出了构成程序集的文件集。

二、CLR程序集教程之程序集的分类

程序集主要分为两种类型:强命名程序集、弱命名程序集。这两种程序集的结构上完全一致的。两者真正的区别在于强命名程序集用发布者的公钥/私钥允许对程序集的惟一标识。

1、强命名程序集

一个强命名程序集包括4个重要属性:一个文件名(无扩展名)、一个版本号、一个语言文化标识以有一个公钥。這些属性惟一地标识了程序集。

2、弱命名程序集

简单地说,没有以上强命名程序集所有的属性就是弱命名程序集.

三、CLR程序集教程之程序集的部署

程序集部署主要分为:私有部署和全局部署。强命名程序集可以私有部署,也可以全局部署,而弱命名程序集只能私有部署。

以上是“CLR程序集的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. MS-SQL CLR 扩展函数包 CLR_FunctionS!
  2. CLR中的程序集加载

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

clr

上一篇:Java代码审计后台注入漏洞举例分析

下一篇:docker的历史与现状及原理与概念是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》