ISBN-13: 9781484254158 / Angielski / Miękka / 2019 / 188 str.
ISBN-13: 9781484254158 / Angielski / Miękka / 2019 / 188 str.
CHAPTER 1: Memory Management in different platforms.
CHAPTER GOAL: This chapter has introductory lessons about memory management when using different platforms and the C++ programming language (NATIVE), C++/CLI projection (CLR), C++/CX projection (WinRT), C++/WinRT (WinRT), COM and IDL, and when using Windows API 's such as Heap Management.
NO OF PAGES: 30-50
SUB - TOPICS
1. Acronym's.
2. Pointers.
3. References.
4. Microsoft Windows operating system.
a. Microsoft Windows 10.
b. Microsoft Windows API.
c. Paging.d. Virtual Memory.
e. Microsoft Windows Heap Management.
f. Microsoft Windows Virtual functions.
g. User-Mode.
h. Kernel-mode.
i. Flat memory model.
j. Segment memory model.
k. Intel IA-32 architecture.
l. Intel 64 (x64) architecture.
m. Processes.
n. Threads.o. Memory Management.
5. CLR – Common Language Runtime
a. Managed Environment.
b. .NET Core 3.
c. .NET Framework.
d. .NET 5.
e. C#.
f. C++/CLI projection.
g. CIL – Common Intermediate Language.
h. MSIL – Microsoft Intermediate Language.
i. ECMA – 335 – CLI – Common Language Infrastructure.
j. ECMA – 372 – C++/CLI projection.
k. ECMA – 334 – C# programming language.
l. Memory Management.
6. WinRT – Windows Runtime / UWP – Universal Windows Platform
a. Component-based programming.
b. C++/CX projection.
c. Support for .NET Platform.
d. C++/WinRT.
e. OOP – Object Oriented Programming.
f. C++ programming language support.
g. Assembly programming language support.h. Memory Management.
7. COM Programming
a. Introduction.
b. IDL – Interface Definition Language.
c. MIDL.
d. Fundamental Tools.
e. Microsoft Windows Registry.
f. Memory Management.
CHAPTER 2: Memory Management with C++ programming language.CHAPTER GOAL: This chapter has introductory lessons about memory management using the C++ programming language constructions, standard and Microsoft-specific.
NO OF PAGES: 30-50
SUB - TOPICS
8. Acronym's.
9. Pointers
a. Using const qualifier.
b. Using constexpr qualifier.
c. Using address-of & operator, sizeof operator, _countof macro, and _msize() function.
10. Understanding Alignment.
11. Memory Management using Microsoft UCRT functions.
12. Modern C++ programming – Using Smart Pointers.
a. Programming using unique_ptr data type smart pointer.b. Programming using shared_ptr data type smart pointer and make_shared() function.
c. Programming using weak_ptr and shared_ptr data types smart pointers.
13. Operator Overloading.
a. Built-in memory management operators.
14. Casting operators.a. reinterpret_cast operator.
b. static_cast operator.
15. Lambda Expressions.
16. Templates.
17. Conclusions.
1. Do's and Don'ts.
CHAPTER 3: About concept and implementation of Reference on C++ programming language / Windows API (NATIVE), C++/CLI projection (CLR), and C++/CX projection (WinRT).
CHAPTER GOAL: This chapter has introductory lessons about the concept and implementation of References with C++ programming language, C++/CLI projection, and C++/CX projection memory management on the Intel x86 (32-bit) and Intel 64-x64 (64-bit) hardware architecture.
1. Acronym's.
2. References.
a. Lvalue reference &.
b. Rvalue reference &.
c. Xvalue (Universal) reference.
d. Using address-of & operator.
e. Copy constructor (OOP).
3. Working with Natural Alignment.
a. __alignof operator (Microsoft-specific).
b. alignof operator (since C++11).
c. alignas specifier (since C++11).
4. Reference concept when using C++/CLI projection (CLR).5. Reference concept when using C++/CX projection (WinRT).
6. Reference concept when using C++/WinRT (WinRT).
7. Reference concept when using IDL and COM programming.
8. Details about casting operators.
a. reinterpret_cast operator.
b. const_cast operator.
c. static_cast operator.
d. dynamic_cast operator.
9. More details about programming Lambda Expressions and Templates.
10. Conclusions.
11. Do's and Don'ts.
CHAPTER 4: About Stack and Heap on Memory Management
CHAPTER GOAL: This chapter has introductory lessons about stack and heap memory management on the Intel x86 (32-bit) and Intel 64-x64 (64-bit) hardware architecture.
NO OF PAGES : 30-50
SUB - TOPICS:
1. Acronym's.
2. Intel Architectures
1. IA-32 architecture.
2. Intel 64 architecture.
2. IA-32 - Processor operation modes
1. Protected mode.
2. Read-address mode.
3. Management mode.3. Intel 64 – Processor operation modes
1. Compatibility mode.
2. 64-bit mode.
4. Address space.
1. Linear Address Space.2. Segmented Address Space.
5. Program Execution Registers.
1. General-purpose registers.
2. Segment registers.
6. Stack.
7. Alignment.
8. Memory Management and Control Registers.
9. Memory Models - IA-32 architecture
1. Flat memory model.
2. Segmented memory model.10. Memory Model for 64-bit mode.
11. Paging mechanism.
12. Virtual Memory.
13. About Instruction Pointer.
14. Learning about operation of segmented memory model.
1. Operand size.
2. Address size.
3. Operand addressing.
4. Registers.
5. Working with offset (displacement, index, size, scale factor).
3. Conclusion.
1. Do's and Don'ts.
CHAPTER 5: Memory Management using Microsoft Windows APIs.
CHAPTER GOAL: This chapter has introductory lessons about concepts and practical uses of Memory Management APIs. Covers general functions and data structures such as SecureZeroMemory() and MEMORYSTATUSEX, and for the Heap Memory Management API functions and data structures, such as HeapAlloc(), HeapFree(), and HeapSize() functions.
NO OF PAGES: 30-50
SUB -TOPICS
4. Acronyms.
5. Overview1. The Virtual Address Space (VAS).
2. Process and Thread.
3. The Working Set.
4. About Paging Mechanism.
2. Memory Allocation and Release.
3. Heaps.
4. Process Heap.5. Using Memory Heap Functions.
6. Memory Performance Information.
6. Conclusions.
1. Do's and Don'ts.
Roger Villela is a software engineer and entrepreneur with almost 30 years of experience in the industry and works as an independent professional. Currently, he is focused in his work as a book author and technical educator and is specialized in the inner works of orthogonal features of the following Microsoft development platforms:
- Microsoft Windows operating system base services.
- Microsoft Universal Windows Platform (UWP).
- Microsoft WinRT.
- Microsoft .NET Framework implementation of the runtime environment (CLR).
His work is based on the Microsoft Visual Studio (Microsoft Windows) and Intel Parallel Studio XE (Microsoft Windows), using the following programming languages, extensions, and projections:
- C/C++- Assembly (Intel IA-32/Intel 64 (x64/amd64))
- Component Extensions for runtimes (C++/CLI and C++/CX).
Explore and learn introductory topics about programming mechanisms for memory management available for Microsoft Windows. This book uses C++ pointers and specialized APIs such as the smart pointers of the C++ Standard Library and Microsoft UCRT functions. You’ll also see how to work with lvalue and rvalue references.
Introducing Mechanisms and APIs for Memory Management begins with topics about hardware features on the Intel x86 and Intel 64 (x64/amd64) hardware architectures and memory management. After reading this book you will be able to begin work with Windows memory management APIs.
1997-2024 DolnySlask.com Agencja Internetowa