PERL PERL6 INTERNALS 22 CALLING C C LIBRARY ROUTINES
Date: Fri, 25 Feb 2005 13:27:49 -0500

Subject: Calling C/C++ library routines
From: megavlad@no-spam (Vlad Florentino)

Hello,
I've been developing a compiler that will target Parrot for the last couple of months. I have a question.

I've only been reading the list for a short time (1 - 1 1/2 months). I was reading some of the past articles, but there's just so many of them that I figure I might as well just ask the question directly.

Is there now, or will there be in the future, any way to call C/C++
library routines from within Parrot? For example, a mysql, pcre or libcurl library. Either static or dynamic.

I haven't actually program using either PASM or PIR(?) yet, since I'm still working on the details of my compiler, such as the grammar, etc;
but I'm curious if this feature is available as this is something I have to take into consideration right now.

Thanks
$vlad.f()


Date: Fri, 25 Feb 2005 14:14:04 -0500

Subject: Fwd: Calling C/C++ library routines


From: megavlad@no-spam (Vlad Florentino)
---------- Forwarded message ----------
From: vlad florentino (megavlad@no-spam)
Date: Fri, 25 Feb 2005 13:56:33 -0500

Subject: Re: Calling C/C++ library routines
To: MrJoltCola <mrjoltcola@no-spam>

On Fri, 25 Feb 2005 13:40:15 -0500, MrJoltCola <mrjoltcola@no-spam> wrote:
> At 01:27 PM 2/25/2005, vlad florentino wrote:
> >Is there now, or will there be in the future, any way to call C/C++
> >library routines from within Parrot? For example, a mysql, pcre or > >libcurl library. Either static or dynamic.
>
> C yes. C shares objects are dynamically loadable by Parrot.
> C++? Not directly, you'll need to wrap any C++ APIs in "extern C" stubs > to get at them from Parrot and make sure you stuff any object pointers into > a PMC. It has been done, an example is the C++ Qt Toolkit.
>
> -Melvin >
>

Wow, that's great!

Are there any examples showing how one can call C routines in Parrot?

$vlad.f()


Subject: Re: Calling C/C++ library routines
Date: Fri, 25 Feb 2005 14:18:00 -0500

From: will@no-spam (Will Coleda)
http://cvs.perl.org/viewcvs/cvs-public/parrot/examples/pni/
has examples for QT, sdl, and the win32 API.
Regards.
vlad florentino writes:
> Wow, that's great! > > Are there any examples showing how one can call C routines in Parrot? > > $vlad.f()


Subject: Re: Calling C/C++ library routines
Date: Fri, 25 Feb 2005 11:35:41 -0800

From: chromatic@no-spam (Chromatic)
On Fri, 2005-02-25 at 14:18 -0500, Will Coleda wrote:

> http://cvs.perl.org/viewcvs/cvs-public/parrot/examples/pni/ > > has examples for QT, sdl, and the win32 API.
The actual NCI stuff (for SDL bindings, at least) is in:

http://cvs.perl.org/viewcvs/cvs-public/parrot/runtime/parrot/library/

-- c