我有一个用C语言编写的Perl模块的一部分。该模块使用C pthreads库。我首先考虑使用标准的XS包装器将C代码添加到我的模块中,但由于此错误报告,这似乎仅在Perl 5.22中可用:https://rt.perl.org/Public/Bug/Display.html?id=122906
我的C代码实际上并不需要与Perl代码的其余部分进行任何交互。它只是读取一个文件并写入另一个文件。
为了不将我的模块限制为Perl 5.22及更高版本,我正在考虑编译一个简单的C二进制文件,并使用system
或反引号从我的Perl代码中调用它。
所以我的问题是:是否可以将此类目标添加到Makefile.PL中,如果是,如何? 如果这种安装过程对于Perl模块是可取的,也许是一个输入,因为我也可能只是在Github上单独发布C代码。 对我来说,将它与Perl模块一起安装似乎是合乎逻辑的,因为C二进制文件除了使用Perl模块之外别无用处。
答案 0 :(得分:1)
您可以通过向名为init
的{{1}}添加一个只返回您想要添加的字符串的函数,向生成的Makefile
添加您想要的任何内容。如果您想阅读更多内容,请在Makefile.PL
联机帮助页中进行说明。