Home > Store

Common Language Infrastructure Annotated Standard, The

Register your product to gain access to bonus material or receive a coupon.

Common Language Infrastructure Annotated Standard, The


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2004
  • Dimensions: 7-3/8" x 9-1/4"
  • Pages: 928
  • Edition: 1st
  • Book
  • ISBN-10: 0-321-15493-2
  • ISBN-13: 978-0-321-15493-4

The Common Language Infrastructure Annotated Standard is the definitive guide to understanding the annotated specification for the Common Language Infrastructure (CLI) standard. With annotations and code samples from both the ECMA standards committee and the Microsoft Common Language Runtime (CLR) team, this book goes beyond the online documentation to clarify and amplify the original standard and describe its implementation.

The core of this book is the international CLI standard. The text describes the CLI and its parts and provides all the information needed to implement a Virtual Execution System (VES) or design a compiler that runs on top of a VES and generates portable code. Author Jim Miller draws upon his experience as editor of the CLI standard and lead of the Microsoft CLR team to guide readers through the CLI blueprint and to a complete understanding of the CLR.

Features of this book include:

  • A heavily annotated architectural overview of the standard
  • A description of the semantics of metadata
  • A complete specification of the Portable Executable (PE) file format
  • Coverage of file format and metadata layout
  • An overview of the CLI libraries
  • A detailed description of the Common Intermediate Language (CIL) instruction set
  • Sample programs and other annexes to the standard
  • An enhanced online index that allows readers to quickly and easily search the entire text for specific topics

The Common Language Infrastructure Annotated Standard is the single source programmers, language and tool designers, and library and VES developers need to render the CLI and the CLR fully comprehensible.


Sample Content

Downloadable Sample Chapter

Download the Sample Chapter related to this title.

Table of Contents





1. Introduction to the Common Language Infrastructure.

Components of the CLI.

The Common Type System.

The Common Language Specification.


Execution and Deployment Models.

Metadata and the File Format.

The Virtual Execution System.

The Standard Framework.

2. Partition I: Concepts and Architecture.

Standard 1. Scope.

Standard 2. Conformance.

Standard 3. References.

Standard 4. Conventions.

Standard 5. Glossary.

Standard 6. Overview of the Common Language Infrastructure.

Standard 7. Common Language Specification (CLS).

Standard 8. Common Type System.

Standard 9. Metadata.

Standard 10. Name and Type Rules for the Common Language Specification.

Standard 11. Collected CLS Rules.

Standard 12. Virtual Execution System.

3. Partition IIA: Metadata Semantics.

Standard 1. Scope.

Standard 2. Overview.

Standard 3. Validation and Verification.

Standard 4. Introductory Examples.

Standard 5. General Syntax.

Standard 6. Assemblies, Manifests, and Modules.

Standard 7. Types and Signatures.

Standard 8. Visibility, Accessibility, and Hiding.

Standard 9. Defining Types.

Standard 10. Semantics of Classes.

Standard 11. Semantics of Interfaces.

Standard 12. Semantics of Value Types.

Standard 13. Semantics of Special Types.

Standard 14. Defining, Referencing, and Calling Methods.

Standard 15. Defining and Referencing Fields.

Standard 16. Defining Properties.

Standard 17. Defining Events.

Standard 18. Exception Handling.

Standard 19. Declarative Security.

Standard 20. Custom Attributes.

4. Overview of File Format.

What Is in Partition IIB (Chapter 5).

Overview of the PE File Format for CLI Files.

Overview of Metadata Physical Layout in PE Files.

Metadata Logical Layout (Sections 21 and 22).

Annotated Dump of a Tiny PE File.

MS-DOS Header.

PE File Header.

PE Section Headers.

Import Address Table.

CLI Header.

Method Header and CIL.

Metadata Root.

Metadata Stream Headers.

The #~ Stream.

String Heap.

Guid Heap.

Blob Heap.

Import Table.

Relocation Section.

5. Partition IIB: Metadata File Format.

Standard 21. Metadata Logical Format: Tables.

Standard 22. Metadata Logical Format: Other Structures.

Standard 23. Metadata Physical Layout.

Standard 24. File Format Extensions to PE.

6. Partition III: CIL Instruction Set.

Standard 1. Scope.

Standard 2. Prefixes to Instructions.

Standard 3. Base Instructions.

Standard 4. Object Model Instructions.

7. Partition IV: Profiles and Libraries.

Standard 1. Overview.

Standard 2. Libraries and Profiles.

Standard 3. The Standard Profiles.

Standard 4. Kernel Profile Feature Requirements.

Standard 5. The Standard Libraries.

Standard 6. Implementation-Specific Modifications to the System Libraries.

Standard 7. Semantics of the XML Specification.

8. Partition V: Annexes.

Annex A. Scope.

Annex B. Sample Programs.

Annex C. CIL Assembler Implementation.

Annex D. Class Library Design Guidelines.

Annex E. Portability Considerations.

Appendix: Microsoft Portable Executable and Object File Format Specification.

1. General Concepts.

2. Overview.

3. File Headers.

4. Section Table (Section Headers).

5. Other Contents of the File.

6. Special Sections.

7. Archive (Library) File Format.

8. Import Library Format.

Appendix: Example Object File.

Appendix: Calculating Image Message Digests.



Index. 0321154932T10202003


Download the Foreword related to this title.


Download the Index file related to this title.


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership