On Mon, 5 Jan 2015 11:05:31 +0100
Hans Aberg <haber...@telia.com> wrote:
> 
> > On 5 Jan 2015, at 10:19, Antonio Ceballos <acebal...@gmail.com>
> > wrote:
> 
> > GNU Chess has not been using the garbage collector so far.
> 
> There is an issue when using C++ global objects having initializers
> doing allocations, on platforms (as on OS X) where the GC initializer
> must run first.

Does this include guile-2.0?  That uses the gc library, which seems to
require some precautions to be taken on Darwin as regards the loading
of dynamic libraries, but I have not heard of problems interfacing with
static global objects where those static objects are conventionally
allocated rather than GC'ed.

In any event, I have not had problems getting guile to work as an
optional extension language for a C++ program with linux, from the
memory allocation point of view.  There are however issues with
accommodating guile exceptions, which are basically long jumps, to
C++ objects with non-trivial destructors.  You have to organize the
code so that no guile exception can take such a C++ object out of
scope, and no C++ exception can propagate out of a guile dynwind block.

Chris

Reply via email to