Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了阻止Perl XS模块无声地回退到纯perl大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
似乎CPAN上的一些(很多?)模块部分使用XS在C中实现,并且如果需要可以回退到纯perl实现.然这很聪明,但它显然会损害性能,我想知道它发生了@R_872_9447@解决问题.

是否有停止或检测此类后备的一般方法?

有关此行为的示例,请查看(非常方便)Date::Simple(code snippet)

解决方法

任何解决方案都必须基于每个模块(因为决定使用哪个实现由父模块本身,而不是Perl中的某些机制).在您引用的情况下,在use语句之后检查$Date :: Simple :: NoXs的值将告诉您是否正在使用Xs.
use Date::Simple;
die "not using XS for Date::Simple\n" if $Date::Simple::NoXs;

例如,要检测Scalar :: Util是否使用XS或纯Perl版本,您必须检查是否存在双变量函数.

use Scalar::Util;
die "not using XS for Scalar::Util\n" unless if @Scalar::Util::EXPORTFAIL;

大佬总结

以上是大佬教程为你收集整理的阻止Perl XS模块无声地回退到纯perl全部内容,希望文章能够帮你解决阻止Perl XS模块无声地回退到纯perl所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。