On 12/14/18 2:33 PM, Sjoerd Nijboer wrote:
Is there any overhead on the generated interface? Or overhead the compiler can't trivially optimise away.
Yes, any overheads that would normally be associated with a P/Invoke call will be present here.
Do you have any recocmendations about mixing coe like, don't use strings for now or try to minimize switching from D to C# and vice-versa.
Strings are fine. But definitely try to minimize switching as there is some pretty significant overheads on the D side with module constructors. And "switching" can happen in some pretty well hidden places, for example, appending to a range is switch.
Do you have plans to incorportae this as a VisualD project .csproj project since it's already intended to be microsoft oriented? (It would seem like a good fit to me.) That way you could even take away the mixin code and the "running the main method" code.
I do not since I wouldn't know where to start, but it's possible.
Does it work with LDC or only with DMD? How about GCC on linux?
It works with anything that can output a shared library and C interfaces. :) -- Adam Wilson IRC: EllipticBit import quiet.dlang.dev;