2011-10-25 4 views
10

Quiero escribir enlaces Perl para una biblioteca C++, para que la biblioteca se pueda usar desde Perl. ¿Cómo comenzaría a hacer esto? He escrito módulos Pure-Perl para CPAN antes.¿Cómo empezar a escribir enlaces Perl para una biblioteca C++?

+1

[Swig ++] (http://www.swig.org/Doc1.3/SWIGPlus.html) me viene a la mente – sehe

+1

La última vez que lo probé, Swig generó un código tan horrible que estoy permanentemente marcado por mirarlo . – tsee

Respuesta

6

Hay SWIG y hay XS. Usé XS para Net::Sharktools, que fue la primera vez que escribí un código XS. Lo señalo porque era un caso particularmente trivial, y podría ser una buena forma de tener una idea de lo que está involucrado.

perldoc perlxs incluye una sección sobre aspectos específicos de C++ también.

+1

Asegúrese de revisar la opción -hiertype de xsubpp cuando se trata de C++ en XS. – tsee

6

Enlazar una biblioteca C++ es mucho más complicado que una biblioteca C, por muchas razones. No en el último lugar porque la cadena de herramientas estándar es bastante céntrica. XSpp es mucho más potente que XS simple, aunque tiene una curva de aprendizaje adicional.

Me encantaría recomendar mi propio libperl++ para esto, pero todavía está muy en la etapa alfa.

+1

Lo que dijo León. Para XS ++ (XSpp) mis diapositivas de YAPC en Pisa pueden ser útiles: http://steffen-mueller.net/talks/xspp/ Los ejemplos de XS ++ incluyen por orden de complejidad: Math :: ThinPlateSpline, Math :: Clipper, Wx – tsee

+0

Oh , y olvidé mencionar 'SOOT' como un ejemplo. Pero eso es tan extraño que cualquiera que aprenda de él debería ser más que un poco loco. :) – tsee

Cuestiones relacionadas