4

I have some question which puzzled me for a long time.

  1. What is the relationship between CLR and one process created by OS?
  2. What steps the CLR is loaded when we double-click an "Console Application" or "Windows Forms Application"?
  3. I found two methods: _CorExeMain() and _CorBindToRuntimeEx(). What's the role of them?
Matthew Flaschen
  • 278,309
  • 50
  • 514
  • 539
Leo Zhang
  • 49
  • 1
  • 8

1 Answers1

4

Please see Hosting the Common Language Runtime, Loading the Common Language Runtime into a Process, _CorExeMain Function, CorBindToRuntimeEx Function.

I think the basic answer is, the CLR must run in a process (host). If you "double-click", a process is created (initally purely unmanaged) then the CLR is loaded into the process (e.g. with CorBindToRuntimeEx).

Matthew Flaschen
  • 278,309
  • 50
  • 514
  • 539