I am trying to understand how .net CLR work, I listed how it work as far as I know(Maybe there are some mistake, please feel free to point out), and have some questions below.
1, When .Net Compiler compile .net application source code, it will select whatever language compiler.Than creates dll or exe assembly, which includes CIL, Metadata and Manifest.
2, In Manifest, it tells which outside library I need to use. So the library(or other dll) loaded.
3, JIT translate CIL to machine language which the computer can run the application. JIL also check the code safety.
My questions are:
1, Is the CLR run as I mentioned above?
2, I know that the CLR also responsible for Automatic memory management and Garbage Collection. When CLR do those thing?