Terminology: Clr:common Language Runtime Common Language runtime, with a variety of runtime libraries used in different programming languages
Managed Modules: Managed module, a standard MS window portable executable file (32-bit PE32 or 64-bit pe32+)
Il:intermediate Language Intermediate Language, also called managed code (the CLR manages its execution)
Meta data: Metadata, a series of special data tables
Assembly: Assembly, abstract
Jit:just-in-time Just-in-time Compilation, the IL compiles cost CPU instruction (local code)
Fcl:framework Class Library,framework Library
Cts:common type System, common type systems, describes the definition of a type and how it behaves
Cli:common Language Infrastructure, the common language Infrastructure, is a standard that Ms submits to ECMA, consisting of CTS and other framwork components
Cls:common Language specfication, a common language specification, provides a detailed set of minimal features
1.1 Compiling the source code into a managed module
CLR compilation process: C # source file--c# compiler compilation--managed modules (IL and metadata)
Various parts of the managed module:
1.pe32 or pe32+ head
Flag file type, Gui/cui/dll, file generation time, run on 32-bit or 64-bit
2.CLR Head
CLR version, entry method, module metadata, resource, strong name
3. Meta-data
3 Kinds of tables
4.IL Code
Meta data includes:
1. Describes what is defined in the module, such as classes and their members
2. Identifies the content referenced by the managed module, such as the imported class and its members
3. Listing manifest, which describes the assembly file, the common export type implemented by the file in assembly, and the resource/data file associated with assembly
The metadata is always embedded in the same exe/dll as the code and is always synchronized with IL.