如何检查Mac OS是32位还是64位?

时间:2012-06-05 12:35:54

标签: perl macros

我想确定Mac OS是32位还是64位。

谁可以为我写下Perl脚本?

4 个答案:

答案 0 :(得分:2)

目前尚不清楚你想要什么。

要查找用于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};

答案 1 :(得分:1)

我不是perl程序员,但是如何尝试将1添加到最大32位整数并将其与溢出值相加?如果等于,你就是32位......

答案 2 :(得分:0)

一种可能性是拨打" arch"。

我刚刚输入的脚本如下所示:

#!/usr/bin/perl -w
$arch=`arch`;
print $arch;

但是,当我输入" arch"在我的终端命令行,我得到" i386"的输出。我的Mac Pro塔具有64位功能(有些,如果不是全部,应用程序以64位模式运行),所以我不确定为什么我没有看到" x86_64&# 34;相反输出。

答案 3 :(得分:0)

您可以检查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";
    }
}