[Gc] Questions about GC in a library.

Brian Beuning bbeuning at corecard.com
Mon Nov 11 13:22:52 PST 2013

Consider using the PIMPL design pattern.


This is not really a GC question.


----- Original Message -----
From: "The Devils Jester" <thedevilsjester at gmail.com>
To: "Bruce Hoult" <bruce at hoult.org>
Cc: gc at linux.hpl.hp.com
Sent: Monday, November 11, 2013 4:08:26 PM
Subject: Re: [Gc] Questions about GC in a library.

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 , and is 
believed to be clean. 
Gc mailing list 
Gc at linux.hpl.hp.com 

Gc mailing list
Gc at linux.hpl.hp.com

More information about the Gc mailing list