digitalmars.D - Sharing memory with C, ref counting, best practises?
- Manu (15/15) Apr 25 2012 I just wanted to sample community opinion on some modern best practices ...
- Walter Bright (2/17) Apr 25 2012 I suggest using COM.
I just wanted to sample community opinion on some modern best practices for sharing memory with C code. What have people tried, what works well, what doesn't? I need to produce objects which C++ code will use, and D code may lose all references to this memory at times. 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. My objects lend themselves better to ref counting anyway I think. Just to double check, D has no intrinsic support for ref counted classes does it? Are there best practises/standard implementations I should follow? Some sick part of me considered using COM, since lots of C++ code already knows how to interface COM. Thoughts? I have pre-conceptions here, I'm just looking for options + opinions on what might be best.
Apr 25 2012
On 4/25/2012 1:36 AM, Manu wrote:I just wanted to sample community opinion on some modern best practices for sharing memory with C code. What have people tried, what works well, what doesn't? I need to produce objects which C++ code will use, and D code may lose all references to this memory at times. 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. My objects lend themselves better to ref counting anyway I think. Just to double check, D has no intrinsic support for ref counted classes does it? Are there best practises/standard implementations I should follow? Some sick part of me considered using COM, since lots of C++ code already knows how to interface COM. Thoughts? I have pre-conceptions here, I'm just looking for options + opinions on what might be best.I suggest using COM.
Apr 25 2012