C++ software interoperability for Windows programmers connecting to C#, R, and Python clients / Adam Gladstone.

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 d...

Full description

Saved in:
Bibliographic Details
Main Author: Gladstone, Adam
Format: eBook
Language:English
Published: New York : Apress, 2022.
Series:ITpro collection
Subjects:
Online Access:Click for online access

MARC

LEADER 00000cam a2200000 a 4500
001 on1294345314
003 OCoLC
005 20240909213021.0
006 m o d
007 cr un|---aucuu
008 220201s2022 nyu ob 001 0 eng d
040 |a YDX  |b eng  |c YDX  |d EBLCP  |d GW5XE  |d ORMDA  |d OCLCO  |d OCLCF  |d N$T  |d UKAHL  |d OCLCQ  |d VLB  |d K6U  |d AUD  |d OCLCQ  |d OCLCO  |d OCLCQ 
019 |a 1294429518  |a 1294453326  |a 1295273450  |a 1341684776 
020 |a 9781484279663  |q (electronic bk.) 
020 |a 1484279662  |q (electronic bk.) 
020 |z 1484279654 
020 |z 9781484279656 
024 7 |a 10.1007/978-1-4842-7966-3  |2 doi 
035 |a (OCoLC)1294345314  |z (OCoLC)1294429518  |z (OCoLC)1294453326  |z (OCoLC)1295273450  |z (OCoLC)1341684776 
037 |a 9781484279663  |b O'Reilly Media 
050 4 |a QA76.73.C153  |b G52 2022eb 
049 |a HCDD 
100 1 |a Gladstone, Adam. 
245 1 0 |a C++ software interoperability for Windows programmers  |h [electronic resource] :  |b connecting to C#, R, and Python clients /  |c Adam Gladstone. 
264 1 |a New York :  |b Apress,  |c 2022. 
264 4 |c ©2022 
300 |a 1 online resource (xix, 225 pages) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
490 0 |a ITpro collection 
505 0 0 |g Part I  |t Foundations --  |t Preliminaries --  |t C++ Components and C++ Clients --  |g Part II  |t C++/CLI and .NET --  |t Building a C++/CLI Wrapper --  |t C# Clients: Consuming the Managed Wrapper --  |g Part II  |t R and Rcpp --  |t Building an R Package --  |t Exposing functions using Rcpp --  |g Part III  |t Python --  |t Building a Python Extension Module --  |t Module development with Boost.Python and PyBind --  |t Conclusion. 
520 |a 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 cost of 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. 
504 |a Includes bibliographical references and index. 
588 0 |a Online resource; title from PDF title page (SpringerLink, viewed February 9, 2022). 
650 0 |a C++ (Computer program language) 
650 7 |a C++ (Computer program language)  |2 fast 
776 0 8 |i Print version:  |z 1484279654  |z 9781484279656  |w (OCoLC)1287127502 
856 4 0 |u https://holycross.idm.oclc.org/login?auth=cas&url=https://link.springer.com/10.1007/978-1-4842-7966-3  |y Click for online access 
903 |a SPRING-COMPUTING2022 
994 |a 92  |b HCD