2014-10-02 191 views
4

在Windows上,如何檢查我的Perl安裝是32位還是64位?如何檢查我的Perl安裝是32位還是64位?

+1

你爲什麼想知道?正如2個答案所反映的,32位或64位可能意味着不只一件事;目前尚不清楚你究竟在問什麼。 – ysth 2014-10-02 20:52:41

+0

來到這裏尋找同一個問題的答案。在我的情況下,我爲這兩個拱都有二進制模塊,並且需要動態加載一個模塊。 – 2016-08-12 15:20:39

+0

只需要解釋log(〜0 +1)/ log(2):〜0 +1就可以得到最大整數並且log(N)/ log(2)得到N的基數爲2的對數。參見perldoc perlop和perldoc - f日誌。 – 2017-01-30 16:16:44

回答

2

只需選中版本/編譯:

perl -v 

而且我得到了:

This is perl, v5.8.8 built for msys-64int 

Copyright 1987-2006, Larry Wall 

... 
+2

'perl -v'輸出中的'64int'不表示64位程序。雖然'perl -v'通常會告訴你它是32位還是64位進程(通過包括'x86'或'x86_64'),你表明它不起作用(它不會告訴你任何一種方式)爲'msys'。 – ikegami 2014-10-03 03:22:01

15

我讀的問題要問,如果的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將使用「整數」以外的類型來存儲數字,可能是「長整數」。

11

如果您要檢查,如果它使用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的輸出中。


注意:你不應該檢查use64bitintuse64bitall這些指示已傳遞什麼參數Configure而不是提供什麼實際使用的信息。

-3

只需使用

log(~0 +1)/log(2) 

....

+4

這可能會使用更多的解釋爲什麼它的工作原理。 – 2015-01-04 07:44:42

相關問題