Essential Guide to Managed Extensions for C++

Artur Laksberg
Apress
9781893115286
1-893115-28-3

Forewords by Mark Hall and Stan Lippman, Compiler Architects, Visual C++ Team The Essential Guide to Managed Extensions for C++ provides a comprehensive guide for programmers writing code in Managed Extensions.

read more…

for C++ (MC++). The information in this book comes straight from the horses mouthboth authors have been key members of the Visual C++ .NET compiler development team and have spent most of their time implementing the language and educating others about managed C++. Managed Extensions for C++ are extensions added to the Visual C++ .NET compiler to allow developers access to the functionality provided by the .NET Framework. Visual C++ .NET is the only .NET language that can generate both native and managed code, and it has a rich set of features to let you write managed applications for the .NET platform. The book is divided into two parts. Part One covers the basics of MC++. It starts with an introduction to MC++. Then it gives a brief introduction to the .NET Framework. Next, it goes directly into the various features of MC++, including managed classes, interfaces, value types, properties, enumerations, pointers, arrays, operators, delegates, attributes, events, and exceptions. Part Two of the book is devoted to the transition between the managed and unmanaged worlds. It starts with a general introduction to interoperability between managed and unmanaged code. The following chapters describe the Platform Invoke service, interoperability between COM and .NET, and various data marshaling techniques. The last chapter of Part Two shows how MC++ can be used to write thin layers over existing components with minimal overhead. Appendix A describes various compiler options used to compile Managed C++ code. Appendices B and C provide brief tutorials on Metadata and Assemblies. About the Authors: Both authors were deeply involved in the design and implementation of Managed Extensions to C++ from the very early stages of the product. Siva Challa is a member of the Visual C++ development team at Microsoft. He has a Ph.D. in computer Science from Virginia Tech. Although Siva works on compilers, he tries to interpret his 1-year old daughters language and frequently recovers from errors by using his wifes knowledge base. Artur Laksberg is member of the Visual C++ .NET compiler development team at Microsoft. When not working, he can be seen cycling the back roads of the Puget Sound, reading books (military history being his latest passion), and programming.