C++ Software Interoperability for Windows Programmers
eBook - ePub

C++ Software Interoperability for Windows Programmers

Connecting to C#, R, and Python Clients

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

C++ Software Interoperability for Windows Programmers

Connecting to C#, R, and Python Clients

Book details
Table of contents
Citations

About This Book

Get up-to-speed quickly and connect modern code written in C#, R, and Python to an existing codebase written in C++. This book for practitioners is about software interoperability in a Windows environment from C++ to languages such as C#, R, and Python. Using a series of example projects, the book demonstrates how to connect a simple C++ codebase packaged as a static or dynamic library to modern clients written in C#, R, and Python. The book shows you how to develop the in-between components that allow disparate languages to communicate. This book addresses a fundamental question in software design: given an existing C++ codebase, how does one go about connecting that codebase to clients written in C#, R, and Python? How is the C++ functionality exposed to these clients? One answer may be to rewrite the existing codebase in the target language. This is rarely, if ever, feasible and this book's goal is to save you the pain and the high costof throwing out valuable existing code by showing you how to make that older code function alongside and with the more modern languages that are commonly in use today. The knowledge you will gain from reading this book will help you broaden your architectural choices and take advantage of the growing amount of talent around newer languages. What You Will Learn

  • Build components that connect C++ to other languages
  • Translate between the C++ type system and the type systems of C#, R, and Python
  • Write a managed assembly targeting the.NET framework
  • Create C++ packages for use in R/Studio
  • Develop Python modules based on high-performance C++ code
  • Overcome the difficulties and pitfalls involved in cross-language development


Who This Book Is For
Software developers who are looking for ways to extend existing systems written in C++ usingmodern languages. Readers should have some programming experience, particularly in C++. Readers should also be familiar with common development tools such as Visual Studio, R/Studio, Visual Studio Code, and CodeBlocks.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access C++ Software Interoperability for Windows Programmers by Adam Gladstone in PDF and/or ePUB format, as well as other popular books in Computer Science & Microsoft Programming. We have over one million books available in our catalogue for you to explore.

Information

Publisher
Apress
Year
2022
ISBN
9781484279663

Table of contents

  1. Cover
  2. Front Matter
  3. Part I. Foundations
  4. Part II. C++/CLI and .NET
  5. Part III. R and Rcpp
  6. Part IV. Python
  7. Back Matter