Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
February 19, 2021 Mixed language projects (D and C++) | ||||
---|---|---|---|---|
| ||||
I want to reuse existing C++ code in a new project that I am writing in D and I want to use D in an existing C++ code base (it is not large). I do not anticipate interop being an issue. I am wondering if mixing D and C++ is a common practice? If it is a common practice, is anyone is currently doing this in an open source project that I can use as a reference to learn from. I am also looking to choose a build system that has IDE support (I use Emacs but I want to be able to use tooling with support for auto-completion). I have used CMake in the past for a couple of C++ projects but I do not want to use it for D projects if it is not commonly used or supported. The C++ project I have written is currently built using Rake (it is basically a Ruby library that allows you to write Makefiles in Ruby). All of my D projects have basically been single file projects so far. This is my first post on this forum so I want to introduce myself. I am new to the D programming language (I have been using it for about a month for minor projects). I replaced an AutoHotKey script using the Windows API that I was using for maximizing Windows across multiple monitors on Windows 10. I also used D lang for processing data (converted data for use in another script, checked data invariants) for commercial purposes. |
February 19, 2021 Re: Mixed language projects (D and C++) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Preetpal | On Friday, 19 February 2021 at 09:44:15 UTC, Preetpal wrote:
> I want to reuse existing C++ code in a new project that I am writing in D and I want to use D in an existing C++ code base (it is not large). I do not anticipate interop being an issue.
>
> [...]
C++ interop is used every day. The LLVM D compiler, ldc, uses it to talk to LLVM efficiently.
There are good resources on it on this very website
|
February 19, 2021 Re: Mixed language projects (D and C++) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Max Haughton | On Friday, 19 February 2021 at 10:01:36 UTC, Max Haughton wrote:
> On Friday, 19 February 2021 at 09:44:15 UTC, Preetpal wrote:
>> I want to reuse existing C++ code in a new project that I am writing in D and I want to use D in an existing C++ code base (it is not large). I do not anticipate interop being an issue.
>>
>> [...]
>
> C++ interop is used every day. The LLVM D compiler, ldc, uses it to talk to LLVM efficiently.
>
> There are good resources on it on this very website
I am looking for suggestions on what build system to use. I took a look at the LDC project but it looks they are writing their own CMake scripts in the repository itself to add support for D to CMake. I was hoping there might be something that others were using with out of box support for D.
|
February 19, 2021 Re: Mixed language projects (D and C++) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Preetpal | On Friday, 19 February 2021 at 10:18:28 UTC, Preetpal wrote:
> On Friday, 19 February 2021 at 10:01:36 UTC, Max Haughton wrote:
>> On Friday, 19 February 2021 at 09:44:15 UTC, Preetpal wrote:
>>> I want to reuse existing C++ code in a new project that I am writing in D and I want to use D in an existing C++ code base (it is not large). I do not anticipate interop being an issue.
>>>
>>> [...]
>>
>> C++ interop is used every day. The LLVM D compiler, ldc, uses it to talk to LLVM efficiently.
>>
>> There are good resources on it on this very website
>
> I am looking for suggestions on what build system to use. I took a look at the LDC project but it looks they are writing their own CMake scripts in the repository itself to add support for D to CMake. I was hoping there might be something that others were using with out of box support for D.
I would keep it simple and use the dub pregenerate step to run any old C++ build process then link as usual.
|
February 19, 2021 Re: Mixed language projects (D and C++) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Max Haughton | On Friday, 19 February 2021 at 10:21:29 UTC, Max Haughton wrote:
> On Friday, 19 February 2021 at 10:18:28 UTC, Preetpal wrote:
>> On Friday, 19 February 2021 at 10:01:36 UTC, Max Haughton wrote:
>>> On Friday, 19 February 2021 at 09:44:15 UTC, Preetpal wrote:
>>>> [...]
>>>
>>> C++ interop is used every day. The LLVM D compiler, ldc, uses it to talk to LLVM efficiently.
>>>
>>> There are good resources on it on this very website
>>
>> I am looking for suggestions on what build system to use. I took a look at the LDC project but it looks they are writing their own CMake scripts in the repository itself to add support for D to CMake. I was hoping there might be something that others were using with out of box support for D.
>
> I would keep it simple and use the dub pregenerate step to run any old C++ build process then link as usual.
Thanks for the advice, that's what I am going to do for now.
|
Copyright © 1999-2021 by the D Language Foundation