zoukankan      html  css  js  c++  java
  • 《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_MACHINESOFTWAREMicrosoftNET Framework SetupNDP

    1.4
    privatepublicprtectedinternal区别
     
    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)



  • 相关阅读:
    音频重采样48kk转16k
    ld: symbol(s) not found for architecture x86_64问题解决
    麦克风啸叫抑制解决方案之移频法
    gcc makefile 模板
    mysql 分组加序号
    java微信公众号JSAPI支付以及所遇到的坑
    appium新手入门(1)—— appium介绍
    一次完整的JVM堆外内存泄漏故障排查记录
    mysql 批量更改表名
    爬虫技术
  • 原文地址:https://www.cnblogs.com/tangge/p/5928234.html
Copyright © 2011-2022 走看看