有可能有条件地“使用bigint”与Perl?
发布时间:2020-12-15 21:12:00 所属栏目:大数据 来源:网络整理
导读:我知道我可以有条件地在Perl中使用一个模块,但是“pragmas”呢?我的测试显示,使用bigint可能比Perl中的正常数学慢得多,我只需要它来处理64位整数,所以我只想在Perl没有使用64位整数支持的时候使用它,我也是知道如何使用Config模块进行检查. 我尝试了各种各
我知道我可以有条件地在Perl中使用一个模块,但是“pragmas”呢?我的测试显示,使用bigint可能比Perl中的正常数学慢得多,我只需要它来处理64位整数,所以我只想在Perl没有使用64位整数支持的时候使用它,我也是知道如何使用Config模块进行检查.
我尝试了各种各样的事情与eval和BEGIN块,但无法找出一种方式来有条件地使用bigint.我知道我可以使用Math :: BigInt,但是对于bigint和64位的情况,我不能使用单个的codepath. 解决方法
这实际上正常工作:
use Config; BEGIN { if (! $Config{use64bitint}) { require bigint; bigint->import; } } 不同编译时间之间的交互是复杂的(也许我会回来尝试稍后解释),但是足够的是,由于这里没有字符串eval,所以bigint所设置的标志会持续通过文件的其余部分或阻止你把BEGIN块放在里面. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |