src => managed module => assembly
.net managed module
a managed module is a standard 32-bit PE32 file or PE32+ file that required the CLR to execute.
one assembly can has several managed modules, but usually only one
Parts of Managed Module
PE32 or PE32+ Header
CLR header
Metadata (優點1:不需要頭文件 2:IntelliSense 3:Refection 4:GC 5:type-safe)
IL code
loading the CLR
1.examing the EXE file's header
- 32-bit process
- 64-bit process
- WoW64 process
WoW64:爲了32位在64位上能夠運行
FCL : Framework Class Library
http://dotnetslackers.com/articles/net/Analyzing-the-makeup-of-a-managed-module.aspx