最近、64ビットの環境もよく見かけるようになってきました。
やっぱり、Windows Server 2008 R2が大きいですね。
x86とx64の環境が混在しだすと、たまに自分が今どの環境で作業してるのか
分からなくなったりしてます。(x64環境が2つとx86環境が2つとかになると間違いまくりますw)
そんなとき、ちょっとした判別アプリを作成しておくと便利です。
.NETの場合は、いくつか方法があるのですが、最もさくっと判別できるのは以下のやり方。
IntPtr型のSizeの値を見る。
IntPtr型は、32ビット/64ビットの環境で型のサイズが変わります。
32ビットだと4バイト、64ビットだと8バイトになります。
この値を見れば、今の環境がどちらのなのか判別がつきます。
以下、サンプルプログラムです。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace x86かx64か判定 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { lblPtrSize.Text = IntPtr.Size.ToString(); lblResult.Text = IntPtr.Size == 8 ? "x64" : "x86"; } } }
ついでに、上記の判定プログラムをアップしておきました。
Exe一つで動くので、個人的に、何気に重宝しています。
- x86かx64か判定
================================
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ