我想确定 Mac OS 是 32 位还是 64 位。
谁能帮我写下 Perl 脚本?
不清楚你想要什么。
要查找用于 的指令集perl
,您可以使用以下命令:
$ perl -V:myarchname
myarchname='x86_64-linux';
(相对于i686-linux
.)
要查找 使用的整数的大小perl
,可以使用以下命令:
$ perl -V:ivsize
ivsize='4';
(相对于8
.)
可以从 Perl 中访问这些值,如下所示:
use Config qw( %Config );
say $Config{myarchname};
say $Config{ivsize};
我不是 perl 程序员,但是尝试将 1 加到最大 32 位整数并根据溢出值检查它怎么样?如果相等,则您使用的是 32 位...
您可以检查输出uname -a
并查看它是否显示i386
或x86_64
结尾:
#! /usr/bin/env perl
use strict;
use warnings;
use feature qw(say);
no warnings qw(uninitialized);
if (not -x "/usr/bin/uname") {
say "Can't determine system bit mode: uname command not found";
}
else {
chomp ( my $arch_type = qx(/usr/bin/uname -a) );
if (not $arch_type) {
say "Can't determine system bit mode";
}
elsif ($arch_type =~ /x86_64$/) {
say "System is in 64 bit mode";
}
else {
say "System is in 32 bit mode: $arch_type";
}
}
一种可能性是调用“ arch
”。
我刚刚快速键入的脚本如下所示:
#!/usr/bin/perl -w
$arch=`arch`;
print $arch;
但是,当我在arch
终端命令行中输入“”时,会得到“ i386
”的输出。我的 Mac Pro 塔式机支持 64 位(如果不是全部,一些应用程序以 64 位模式运行),所以我不确定为什么我没有看到 " x86_64
" 输出。