I just wanted to sample community opinion on some modern best practices for sharing memory with C code.<div>What have people tried, what works well, what doesn't?<br><br></div><div>I need to produce objects which C++ code will use, and D code may lose all references to this memory at times.</div>
<div>My current intent is to use a foreign allocator supplied from C++, allocating in the C++ heap, then perhaps use reference counting to track the life of the objects, since the GC won't be so useful in this context.</div>
<div>My objects lend themselves better to ref counting anyway I think.</div><div><br></div><div>Just to double check, D has no intrinsic support for ref counted classes does it? Are there best practises/standard implementations I should follow?</div>
<div><br></div><div>Some sick part of me considered using COM, since lots of C++ code already knows how to interface COM. Thoughts?</div><div><br></div><div>I have pre-conceptions here, I'm just looking for options + opinions on what might be best.</div>