MacOSが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プログラマーではありませんが、最大32ビット整数に1を加算して、オーバーフローした値に対してそれをチェックしてみてはどうでしょうか。等しい場合は、32ビットを使用しています...
1つの可能性は、「arch
」と呼ぶことです。
すぐに入力したスクリプトは次のようになります。
#!/usr/bin/perl -w
$arch=`arch`;
print $arch;
ただし、arch
ターミナルコマンドラインで「」と入力すると、「i386
」が出力されます。x86_64
私のMacProタワーは64ビット対応です(すべてではないにしても一部のアプリは64ビットモードで実行されます)ので、代わりに「」出力が表示されない理由がわかりません。
の出力をチェックして、次のように表示されているか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";
}
}