April 25, 2012 Sharing memory with C, ref counting, best practises? | ||||
|---|---|---|---|---|
| ||||
Attachments:
| 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. | |||
April 25, 2012 Re: Sharing memory with C, ref counting, best practises? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Manu | 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.
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply