gpt4 book ai didi

Perl:如何强制要求 64 位 perl 编译器要求运行程序

转载 作者:行者123 更新时间:2023-12-05 00:43:56 26 4
gpt4 key购买 nike

我很想知道是否有办法强制程序仅在 x64 位 perl 编译器中执行。如果程序在 32 位编译器中运行,它应该抛出错误并退出。
类似于 require 5.10.0 .
我有一个程序有很多 64 位整数处理要做。所有这些都是字符串格式和hex "0xXXXXXXXXXXXXXXXX"不会被 32 位编译器处理(听说某处只支持 53 位)。我知道我们可以使用 Math::BigInt ,但我希望删除库的使用,因为该脚本将在可能没有此库的其他系统中运行。

最佳答案

尽管有关于编译器的所有讨论,但听起来您实际上想要检查 Perl 的整数是否(至少)是 64 位的。为此,您可以使用以下内容:

use Config qw( %Config );

BEGIN { die("64-bit ints required.\n") if $Config{ivsize} < 8; }

或者
BEGIN { die("64-bit ints required.\n") if length(pack('j', 0)) < 8; }

或者
BEGIN { die("64-bit ints required.\n") if ~0 <= 0xFFFF_FFFF; }

我把支票放在 BEGIN块,因此如果您的程序中有大常量,您就不会遇到任何问题。

关于Perl:如何强制要求 64 位 perl 编译器要求运行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53495832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com