【问题标题】:CLR's class loading servicesCLR 的类加载服务
【发布时间】:2012-10-24 23:26:25
【问题描述】:

我从谷歌阅读了主题,我明白这一点:

  1. Windows 加载程序加载 .net 应用程序的 exe 或 dll。
  2. 然后 Windows 加载程序为该进程创建 clr。
  3. 然后它找到应用程序的入口点并调用它。
  4. 但在 clr 的类加载器服务来加载包含 Main 方法的类之前。
  5. 然后进行 jit 编译。
  6. clr 向我们的应用程序提供 gc、异常处理、类加载等服务。

我的问题是:

现在,当我们运行 .net app 时,clr 会找到入口点并开始执行。但是当它遇到

Class1 ob = new Class1();  

那个时候我们的进程如何调用CLR的服务,称为类加载器? MSIL 代码相当于是 newobj 在内部调用了 clr 的类加载器服务吗?

【问题讨论】:

  • 我的意思是运行应用程序如何调用 clr 服务?任何建议都很好......

标签: c# clr-hosting


【解决方案1】:

理解 CLR 的内部工作需要花费很多精力。但是,如果您有兴趣,请通过CLR Internal Workings

该网站对 CLR 的工作进行了广泛而详细的解释。

具体来说,您的答案来自网站的 ObjectInstance 部分。他们使用过

SmallClass obj = new SmallClass();

解释功能。

希望对你有帮助。

【讨论】:

  • 我读了。但是你能解释一下我的问题吗?在简单的世界里?
猜你喜欢
  • 2015-10-31
  • 1970-01-01
  • 2014-03-10
  • 2019-03-23
  • 1970-01-01
  • 2015-07-23
  • 1970-01-01
  • 1970-01-01
  • 2020-04-18
相关资源
最近更新 更多