3

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
  • 268,153
  • 48
  • 509
  • 534
Leo Zhang
  • 39
  • 1
  • 8

1 Answers1

3

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
  • 268,153
  • 48
  • 509
  • 534