LEADER 05710nam 22006375 450 001 9910300467703321 005 20251117075812.0 010 $a1-4302-6671-6 024 7 $a10.1007/978-1-4302-6671-6 035 $a(CKB)3710000000249710 035 $a(EBL)1964724 035 $a(OCoLC)893672778 035 $a(SSID)ssj0001354067 035 $a(PQKBManifestationID)11743654 035 $a(PQKBTitleCode)TC0001354067 035 $a(PQKBWorkID)11322677 035 $a(PQKB)10183719 035 $a(MiAaPQ)EBC1964724 035 $a(DE-He213)978-1-4302-6671-6 035 $a(PPN)181348829 035 $a(EXLCZ)993710000000249710 100 $a20140930d2014 u| 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aC# Deconstructed $eDiscover how C# works on the .NET Framework /$fby Mohammad Rahman 205 $a1st ed. 2014. 210 1$aBerkeley, CA :$cApress :$cImprint: Apress,$d2014. 215 $a1 online resource (165 p.) 300 $aDescription based upon print version of record. 311 08$a1-4302-6670-8 320 $aIncludes bibliographical references and index. 327 $aContents at a Glance; Contents; About the Author; About the Technical Reviewer; Chapter 1: Introduction to Programming Language; Overview of the CPU; Instruction Set Architecture of a CPU; Memory: Where the CPU Stores Temporary Information; Concept of the OS; Concept of the Process; Concept of the Thread; What Is Virtualization?; Programming Language; Compilation and Interpretation; Birth of C# Language and JIT Compilation; // Microsoft (R) .NET Framework IL Disassembler Version 4.0.30319.1; The CLR; Road Map to the CLR; Tools Used in This Book; Son of Strike Debugging Extension DLL 327 $aConclusionFurther Reading; Chapter 2: The Virtual Machine and CLR; Virtual Machine; Problems with the Existing System; Optimization During Execution; Virtual Execution Environment; Components of the Virtual Execution Environment; CLR: Virtual Machine for .NET; CLR Supports Multiple Languages; Common Components of the CLR; Conclusion; Further Reading; Chapter 3: Assembly; What Is the Assembly?; Overview of Modules, Assemblies, and Files; Introduction to PE Files; Structure of the Assembly; Analysis of the Assembly; Section Header; .text Section; #~ stream; ModuleDef; TypeDef; MethodDef 327 $aReference TablesAssemblyRef; ModuleRef; TypeRef; MemberRef; Assembly Loading; Inside the Bind, Map, Load Process; Binding to an Assembly; Consulting the Cache; Conclusion; Further Reading; Chapter 4: CLR Memory Model; Introduction; Memory Interaction between the CLR and OS; Windows Memory Management; Concept of the Process; Process Structure; Process Address Space; Concept of the Thread; Thread Address Space; Thread and Frames; Concept of the Virtual Memory; 32-bit and 64-bit Process Addressing; Virtual-to-Physical Address Mapping; Learn the Contents of a Particular Physical Memory Address 327 $aFind a Virtual Address and Its ContentsMemory-Mapped File; Conclusion; Further Reading; Chapter 5: CLR Memory Model II; CLR Memory Model: Application Domain; Finding an object in the Application Domain; Address Space of the Application Domain; Stack in the CLR; Address Space of the Stack; Heap; Heap and Address Space; objects; Garbage Collection; Generation 0; Generation 1; Generation 2; Conclusion; Further Reading; Chapter 6: CLR Execution Model; Overview of the CLR; The C# Program and the CLR; CLR Bootstrapping; CLR Address Space; Class Loader in the CLR; Locating the Main Entry Point 327 $aStub Code for the ClassesVerification; Conclusion; Further Reading; Chapter 7: CLR Execution Model II; JIT Compilation; Method Stub of a Type; JIT-Compiled Status: NONE; JIT-Compiled Status: JIT; JIT-Compiled Status: PreJIT; How Many Times a Method Is JIT Compiled; Execution State of the CLR; Conclusion; Further Reading; Index 330 $aC# Deconstructed answers a seemingly simply question: Just what is going on, exactly, when you run C# code on the .NET Framework? To answer this question we will dig ever deeper into the structure of the C# language and the onion-skin abstraction layers of the .NET Framework that underpins it. We?ll follow the execution thread downwards, first to MSIL (Microsoft Intermediate Language) then down through just-in-time compilation into Machine Code before finally seeing the results executed at the hardware level. The aim of this deep-dive is to provide you with a much more rounded knowledge of the environment within which you code exists. As a managed language, it?s best-practice to let the Framework deal with device interaction but you?ll find the experience of taking the cover off once in a while a very rewarding one that will greatly enrich your appreciate of the C# language and the way in which in functions. 606 $aMicrosoft software 606 $aMicrosoft .NET Framework 606 $aSoftware engineering 606 $aMicrosoft and .NET$3https://scigraph.springernature.com/ontologies/product-market-codes/I29030 606 $aSoftware Engineering/Programming and Operating Systems$3https://scigraph.springernature.com/ontologies/product-market-codes/I14002 615 0$aMicrosoft software. 615 0$aMicrosoft .NET Framework. 615 0$aSoftware engineering. 615 14$aMicrosoft and .NET. 615 24$aSoftware Engineering/Programming and Operating Systems. 676 $a005.2762 700 $aRahman$b Mohammad$4aut$4http://id.loc.gov/vocabulary/relators/aut$0892447 906 $aBOOK 912 $a9910300467703321 996 $aC# Deconstructed$91993200 997 $aUNINA