如何检查我的Perl安装是32位还是64位?
只需选中版本/编译:
perl -v
而且我得到了:
This is perl, v5.8.8 built for msys-64int
Copyright 1987-2006, Larry Wall
...
'perl -v'输出中的'64int'不表示64位程序。虽然'perl -v'通常会告诉你它是32位还是64位进程(通过包括'x86'或'x86_64'),你表明它不起作用(它不会告诉你任何一种方式)为'msys'。 – ikegami 2014-10-03 03:22:01
我读的问题要问,如果的Perl编译64位,如果不是Windows或CPU是。
可以将Perl配置为使用不同程度的64位性。你可以使用Config模块来查看它。
要检查Perl是否编译为使用64位整数,您可以查看Config中的use64bitint
条目。
use Config;
print $Config{use64bitint};
define
表示是。
还有...
-
use64bitall
意的perl将被编译使用所有的64位内斯是可以的,其中包括64个指针允许您访问超过2个演出内存。 -
ivsize
指示Perl将用来存储整数的字节数,8表示64位。 -
ptrsize
Perl将使用多少位来存储指针,它允许每个进程使用2个以上的内存,8位表示64位。
常见的配置变量和它们的值可以在perl -V
(注意大写字母V)中看到。他们的定义可以在perldoc Config
找到。
注意,无论您的操作系统或CPU是32位还是64位,都可以编译Perl以使用64位整数。在一个32位的CPU上,Perl将使用“整数”以外的类型来存储数字,可能是“长整数”。
如果您要检查,如果它使用32位整数或64位整数,使用以下命令:
perl -V:ivsize # use Config; say $Config{ivsize}
- 如果返回的值是4,你的Perl使用32位整数。
- 如果返回的值是8,那么Perl会使用64位整数。
如果您要检查,如果它使用32位指针或64位指针,使用以下命令:
perl -V:ptrsize # use Config; say $Config{ptrsize}
- 如果返回的值是4,你的Perl可以地址4 GB的RAM。
- 如果返回的值是8,则Perl可以寻址“无限制”的RAM。
如果您要检查它是否是一个32位程序或64位程序,使用以下命令:
perl -V:archname # use Config; say $Config{archname}
- 如果返回值包括
x86_64
,这是一个64位进程。 - 如果返回的值包括
x86
(但不是x86_64
),则它是一个32位进程。
此值还包含在perl -v
的输出中。
注意:你不应该检查use64bitint
或use64bitall
这些指示已传递什么参数Configure
而不是提供什么实际使用的信息。
只需使用
log(~0 +1)/log(2)
....
这可能会使用更多的解释为什么它的工作原理。 – 2015-01-04 07:44:42
你为什么想知道?正如2个答案所反映的,32位或64位可能意味着不只一件事;目前尚不清楚你究竟在问什么。 – ysth 2014-10-02 20:52:41
来到这里寻找同一个问题的答案。在我的情况下,我为这两个拱都有二进制模块,并且需要动态加载一个模块。 – 2016-08-12 15:20:39
只需要解释log(〜0 +1)/ log(2):〜0 +1就可以得到最大整数并且log(N)/ log(2)得到N的基数为2的对数。参见perldoc perlop和perldoc - f日志。 – 2017-01-30 16:16:44