inline::c
或inline::cpp
有关Perl的C和C ++的介绍,请参见perl。只有在您想开始通过或返回复杂的数据结构(甚至可能没有)时,才需要更深入地钻入XS接口。看起来您想与Perl的C库进行通信。您需要阅读有关XS接口的更多信息,请阅读Perldocperlxs和
perldocperlxstut。 如果您想进行反向(从c调用perl),也可以通过perldocperlguts和
如果您不想使用Inline :: CPP,则需要为您的C ++库创建模块。可以使用H2xs:h2xs --autogen-xsubs
自动完成。首先从CPAN安装C ::扫描。
首先,我要说的是,XS一组相对较小的关键字,使CRATE C库供Perl使用更容易使用(请参阅Perlxstut和
),这又需要了解Perl编译器的工作原理(参见perlguts,以及某种过时但仍然非常有用的perl gperl胆量示出
)。同时要学习很多。简而言之:
perl内部工作=>非常硬 上面的所有人同时=>ouch 也就是说,如果您想包装C ++库,请查看CPAN上的extutils ::XSPP模块。它带有一个非常简单的例子。该模块不旧,并且仍然得到改进,但它使包装C ++更加方便。 PS:如果您打算一次学习所有内容,请以示例学习。查看DeanRoehrich的食谱。也许使用一些简单的XS模块作为型号:Parse::exuberantctags,
Math::fftWuse Inline C => Config => LIBS => '-L/home/dennis/perl_extension/inline_c_change_experiment/ -lMyLib';
use Inline C => Config => LIBS => '-L/home/dennis/perl_extension/inline_c_change_experiment/ -lMyLib.so';