On Sunday, 17 November 2013 at 22:11:02 UTC, Namespace wrote:
Hello.
I have some trouble with C interfacing.
I have a C struct with an integer member and I want to wrap
this into a D template. But if I want to access the C API, I
have to convert the C struct with the type informations of the
D struct.
Example: http://dpaste.dzfl.pl/e3d10755
The question is: How can I write the ptr method? It is very
probable, that these conversion is often used, so the ptr
method should be fast and without many garbage. And If
possible, I want to avoid the GC / Heap.
My current approach doesn't avoid the GC complete, but it
displace the problem: http://dpaste.dzfl.pl/449f663f
Any further ideas how to solve that?
You cannot use the stack due to your API requirements, so only
heap or data segment remains. I assume you cannot use static
variables, so heap it is. You should look into Andreis proposed
std.allocator to optimize your memory management.
http://forum.dlang.org/post/[email protected]