.Net7中Ctor与CCtor函数用法及差异如何区分?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2290个文字,预计阅读时间需要10分钟。
目录 + 楔子 + 目的的非手段+.Ctor目的的+.CCtor目的的 + 楔子:有小朋友被面试官问到这个问题,本篇底部将解析这个问题。
为了深入点,注意本篇是基于最底层的+.Net 7 RC CLR 运行模型(编译型)为基础进行探讨的。
目录
- 楔子
- 目的非手段
- .Ctor目的
- .CCtor目的
楔子
有小伙伴被面试官问到这个问题,本篇彻底解析下这个问题。
为了彻底点,注意本篇是最底层的.Net 7 RC CLR运行模型(汇编)为基础进行全局剖析,局部业务分析。
如有疏漏,请斧正。
目的非手段
这两个函数比较特殊的存在,.Ctor是非静态默认实例化。.CCtor是静态默认实例化。这两个函数伴随着.Net任何对象的实例化都自动存在于这个对象当中。
跟踪.CCtor可以在全局静态对象下断点,观察它的里面运行。跟踪.Ctor可以通过!name2ee模块 模块.类名..Ctor找到JITTED Code Address,观察它的运行。正如本段题所说,这只是手段,不是目的。所以下面看目的。
.Ctor目的
先来看下非静态默认构造函数.Ctor。
本文共计2290个文字,预计阅读时间需要10分钟。
目录 + 楔子 + 目的的非手段+.Ctor目的的+.CCtor目的的 + 楔子:有小朋友被面试官问到这个问题,本篇底部将解析这个问题。
为了深入点,注意本篇是基于最底层的+.Net 7 RC CLR 运行模型(编译型)为基础进行探讨的。
目录
- 楔子
- 目的非手段
- .Ctor目的
- .CCtor目的
楔子
有小伙伴被面试官问到这个问题,本篇彻底解析下这个问题。
为了彻底点,注意本篇是最底层的.Net 7 RC CLR运行模型(汇编)为基础进行全局剖析,局部业务分析。
如有疏漏,请斧正。
目的非手段
这两个函数比较特殊的存在,.Ctor是非静态默认实例化。.CCtor是静态默认实例化。这两个函数伴随着.Net任何对象的实例化都自动存在于这个对象当中。
跟踪.CCtor可以在全局静态对象下断点,观察它的里面运行。跟踪.Ctor可以通过!name2ee模块 模块.类名..Ctor找到JITTED Code Address,观察它的运行。正如本段题所说,这只是手段,不是目的。所以下面看目的。
.Ctor目的
先来看下非静态默认构造函数.Ctor。

