On Wednesday, 16 April 2014 at 14:00:24 UTC, Daniel Murphy wrote:
"Moritz Maxeiner" wrote in message news:kvzwlecwougswrqka...@forum.dlang.org...

Is this[1] then out of date and I can interface with non-virtual methods? Because that's what your post seems to imply (unless I misunderstood).

[1] http://dlang.org/cpp_interface.html

Yes. The best place to look for concrete examples of what is supported is probably the C++ tests in the test suite. (ie files containing "EXTRA_CPP_SOURCES")

That sounds very cool, I've had a look at [1] and [2], which seem to be the two files with the new C++ class interfacing. As far as I could tell, you need to create any instances of C++ classes with C++ code / you don't bind to the constructors directly from D and the new instance will not be managed by D's GC? Because if I used this new interfacing for e.g. llvm-d, I need to be sure, that D's GC won't touch any of the instances under any circumstances, since they are freed by LLVM's internal logic they GC cannot track.

[1] https://github.com/D-Programming-Language/dmd/blob/master/test/runnable/externmangle.d [2] https://github.com/D-Programming-Language/dmd/blob/master/test/runnable/extra-files/externmangle.cpp

Reply via email to