guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: good tutorial on extending a c++ project with Guile ?


From: David Kastrup
Subject: Re: good tutorial on extending a c++ project with Guile ?
Date: Mon, 26 Jun 2017 18:54:21 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Samuel Barreto <address@hidden> writes:

> Hi everyone,
>
> I want to create a Guile extension to a big C++-based project called
> Bio++ (dedicated to bioinformatics and computational biology).
>
> However I failed to find a good and simple example on how to extend a
> C++ program with Guile. My idea was to create a shared library that can
> be called from Guile and embedded in a module. I followed instructions
> on the Guile reference manual but all of them are related to C, not C++.
> I then looked at the source code of LilyPond and OpenCog but was not
> able to extract signal from software idiosyncratic noise.
>
> So can anyone point me to a good example or a simple tutorial on how to
> extend C++ with Guile ? I think the main confusion point to me is the
> compilation danse between g++ and gcc.

You could take a look at LilyPond (which still uses Guile-1.8 but the
1.8/2.x difference is not really relevant to the basic approaches used
for interfacing), is written in C++ and interfaces to Guile (with Guile
being precompiled as a C library and used as system library if
available).

In particular, it might make sense to look at the files lily/smobs.cc,
lily/include/smobs.hh, lily/include/smobs.tcc,
lily/include/small-smobs.hh since LilyPond routes all its Scheme-wrapped
data structures through these constructs.

A repository viewer can be found at
<http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=tree>

-- 
David Kastrup




reply via email to

[Prev in Thread] Current Thread [Next in Thread]