《CLR via C#》读书笔记(1)CLR执行模型



1.1
释义

CLR
公共语音运行时
Common Language Runtime


CTS通用类型系统Common Type System
CTS、CLS是CLR的核心
CLS
通用语言规范
Common Language Specification

CLS是CTS的子集
IL
托管代码


COM类型库Type Library

IDL接口定义语音Interface Definition Language

FCLFrameWork类库Framework Class Library

1.2
托管模块(managed module)
 
一个标准的32的可移植执行体(PE32)文件或一个标准的64位可移植执行体(PE32+)文件。由用支持CLR的任何一种语言创建的源代码文件,再经过相应的编译器检查语法和分析源代码,编译生成。如下:
1.3
程序集
 
:由一或者多个模块/资源文件的逻辑性组合。程序集是重用、安全性以及版本控制的最小单元。
    可以将.exe与.dll文件认为是一个程序集;其中.exe文件是一个自己执行的程序集,而.dll将被其他程序集加载后运行。
了解你电脑安装了哪些版本的.NET FrameWork,检查注册表
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

1.4
private\public\prtected\internal区别
 
1.8
公共语音规范
 
图  每种语言都提供了CLR/CTS的一个子集以及CLS的一个超集(但不一定是同一个超集)
[assembly:CLSCompliant(true)]
namespace CLR的基础
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }


    public sealed class SomeLibraryType
    {
        public UInt32 Abc()
        {
            return 0;
        }
        public void abc() { }

        private UInt32 ABC()
        {
            return 0;
        }
    }
} 
[assembly:CLSCompliant(true)] 
检测 是否存在不何时的构造阻止了从其他编程语言中访问该类型。

1.9
IL代码解析
 
#

IL代码工具(ILDasm.exe)



作者:【唐】三三

出处:https://www.cnblogs.com/tangge/p/5928234.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   【唐】三三  阅读(321)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示