Book Image

D Cookbook

By : Adam Ruppe
Book Image

D Cookbook

By: Adam Ruppe

Overview of this book

Table of Contents (21 chapters)
D Cookbook
Credits
Foreword
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Interfacing with C++


If you have an existing C++ program and want to start using D, it probably isn't practical to rewrite the entire application. However, it may be possible to start writing new components of the application in D. Let's look at how this can be done.

Getting ready

Review how D interfaces with C. Any extern functions of C work exactly the same way in C++. You'll also need to get the appropriate C++ compiler. On 32-bit Windows, you'll need the Digital Mars C compiler to pair with DMD. On 64-bit Windows, the Microsoft Visual C++ compiler will work. On Linux, use g++.

How to do it …

Let's interface D with C++ by executing the following steps:

  1. Use C++ functions by marking them extern(C++); otherwise, use them in the same way as you use C functions. You can also write a D function with the extern(C++) linkage and use it from C++ by writing the prototype.

  2. Use interfaces marked extern(C++) to access objects or to implement objects. Any virtual function in the C++ class should have a corresponding...