Question over C++ to D conversion
Richard
garlicbready at googlemail.com
Mon Mar 12 01:10:41 UTC 2018
Hi,
I'm sure this question has been asked a few times before
But I'm currently looking at something that will convert Cpp code
to D
I've recently setup a proof of concept demo which uses mbed for
an embedded LPC1769 Arm board
This is just a test, but I've recently managed to get debugging
working across both C and D files at the same time.
This means single stepping code on a remotely attached Arm board
in VSCode, while being able to inspect registers with an svd file
https://github.com/grbd/GBD.Dlang.MbedBlinkyTest
There's a couple of outstanding things at the moment though
The first is the use of BetterC, although from what I can tell
DMD now has support for a minimal runtime feature as part of
2.079.0
https://dlang.org/changelog/2.079.0.html#minimal_runtime
so hopefully when this makes it's way into LDC I can then make
use of it for an Arm MCU for creating class's without the full
runtime.
https://github.com/ldc-developers/ldc/pull/2587
These were also mentioned in a separate thread.
* https://bitbucket.org/timosi/minlibd
* https://github.com/JinShil/stm32f42_discovery_demo
* https://github.com/kubo39/stm32f407discovery
The second is that mbed uses C++ class's for it's API
most of this is just headers such as DigitalOut.h
https://github.com/ARMmbed/mbed-os/blob/master/drivers/DigitalOut.h
So ideally I've been looking for something that can translate
those headers into Dlang so they can be used there instead.
* The first two utils I've found were DStep and htod, however
they seem to only hand C
https://github.com/jacob-carlborg/dstep
* I discovered some examples of libraries over here
https://github.com/D-Programming-Deimos
* There's CPP2D but the last update was around 2016
https://github.com/lhamot/CPP2D
* Calypso seems to be a Fork of LDC, but I think it might be a
while before 2.079.0 makes it in.
https://github.com/Syniurge/Calypso
One possibility I might look into is a D backend for CppSharp
if I can figure it out, since I'm familiar with C#.
* https://github.com/mono/CppSharp
I was wondering if there are any other ways that are known about
for translating C++ into D, or accessing C++ libraries.
Many Thanks
Richard
More information about the Digitalmars-d
mailing list