【发布时间】:2012-04-19 23:42:22
【问题描述】:
我需要为 Perl 编写一个 XS 模块。据我了解,h2xs 今天几乎已被弃用,今天启动 XS 模块的首选方法是什么?我查看了 Module::Starter,但它只处理纯 Perl 模块。
【问题讨论】:
我需要为 Perl 编写一个 XS 模块。据我了解,h2xs 今天几乎已被弃用,今天启动 XS 模块的首选方法是什么?我查看了 Module::Starter,但它只处理纯 Perl 模块。
【问题讨论】:
不,不推荐使用 h2xs。如果您创建许多纯 Perl 模块,Module::Starter 肯定更方便,但没有理由避免使用 h2xs。不过,我建议您在使用它之前通读它的文档,以便您知道您希望它做什么或不做什么。
【讨论】:
我个人只是使用 Module::Starter 并自己添加 .xs 文件。这取决于您的目标是什么:如果您要对 C api 进行一对一的映射,那么 h2xs 可以为您做很多样板文件,但是如果您要制作一个全新的界面,或者当您re 只用 perl 本身(而不是一些外部库)做事,它不会增加太多但麻烦恕我直言。
【讨论】:
就我个人而言,每当我开始制作一个新模块时,我都会通过cping 并从我的另一个与之类似的模块中编辑文件,并根据需要进行编辑。当然,这种方法中没有任何内容表明它必须是我的一种。 CPAN 上有很多代码,您可以复制并从中获得灵感……
【讨论】:
你也应该看看使用Inline::C
【讨论】: