[Numpy-discussion] C Extensions, CTypes and "external code & libraries"
Lou Pecora
lou_boog2000 at yahoo.com
Tue Feb 12 17:18:37 EST 2008
--- Jon Wright <wright at esrf.fr> wrote:
> Lou Pecora wrote:
> >... This appears to be the way
> > static and shared libraries work, especially on
> Mac OS
> > X, maybe elsewhere.
>
> Have you tried linking against a GSL static library?
> I don't have a mac,
> but most linkers only pull in the routines you need.
> For example, using
> windows and mingw:
>
> #include <stdio.h>
> #include <gsl/gsl_sf_bessel.h>
> int main (void)
> { double x = 5.0;
> double y = gsl_sf_bessel_J0 (x);
> printf ("J0(%g) = %.18e\n", x, y);
> return 0; }
>
> ...compiles to a.exe which outputs:
>
> J0(5) = -1.775967713143382900e-001
>
Yes, I know about this approach if I am making an
executable. But I want to make my code into a shared
library (my code will not have a main, just the
functions I write) and, if possible, let my code call
the GSL code it needs from the C function I write
(i.e. no python interface). If what you did can be
done for a shared library, then that would be great.
However, I am ignorant of how to do this. I will try
to make my shared library using gcc and then add the
GSL library using the -l option as someone else
suggested. Maybe that will work. I'll report back.
I have been searching for info on the right approach
to this on the Mac, since, as I understand, Mac OS X
does make a distinction between shared libraries and
dynamic libraries (which I don't understand fully).
Thanks.
-- Lou Pecora, my views are my own.
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
More information about the NumPy-Discussion
mailing list