[Gc] Questions about GC in a library.

Bruce Hoult bruce at hoult.org
Mon Nov 11 13:21:24 PST 2013


Surely if your objects are to be managed by the GC, the end users will only
ever see a pointer to your objects, and never the object itself?

Don't include gc.h in your public header and put only incomplete class
declarations there.


On Tue, Nov 12, 2013 at 10:08 AM, The Devils Jester <
thedevilsjester at gmail.com> wrote:

> That solves the GC_INIT problem if that is allowed, unfortunately, it does
> not solve the include issue as the applications still need access to the
> classes I have defined that inherit from the gc, and those objects should
> still be managed by the GC, I just do not want to force my end users to
> also deal with the GC.
>
>
> On Mon, Nov 11, 2013 at 3:02 PM, Bruce Hoult <bruce at hoult.org> wrote:
>
>> You can make an init() function for your library and have the user call
>> that at the start of main(). Then they don't need to include GC headers
>> themselves.
>>
>>
>>
>> On Tue, Nov 12, 2013 at 8:30 AM, The Devils Jester <
>> thedevilsjester at gmail.com> wrote:
>>
>>> I have my code (which uses the GC) encapsulated in a library for
>>> modularity purposes.
>>>
>>> If a user includes my headers, which include, by necessity the GC
>>> headers, then they indirectly include the GC in their program.  Is there a
>>> way to prevent this?  In my library (if it makes any difference) I only use
>>> the GC on classes that inherit from gc or containers that use the gc
>>> allocator.
>>>
>>> In addition, the documentation on GC says that one should call GC_INIT
>>> in the main thread of the program, it is my goal, however, to not expose
>>> the inner workings of the library (if it uses the GC or not) to the
>>> program.  Is it safe to call this from the library, as long as its called
>>> before anything else?
>>>
>>> --
>>> This message has been scanned for viruses and
>>> dangerous content by *MailScanner* <https://www.mailscanner.info/>, and
>>> is
>>> believed to be clean.
>>> _______________________________________________
>>> Gc mailing list
>>> Gc at linux.hpl.hp.com
>>> https://www.hpl.hp.com/hosted/linux/mail-archives/gc/
>>>
>>
>>
>
> --
> This message has been scanned for viruses and
> dangerous content by *MailScanner* <https://www.mailscanner.info/>, and is
> believed to be clean.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://napali.hpl.hp.com/pipermail/gc/attachments/20131112/1504280d/attachment.htm


More information about the Gc mailing list