杉山利幸の公開日誌 2008年8月分

2008年9月分

2008/08/30 64 bit 対応のその後 2
2008/08/15 64 bit 対応のその後


2008/08/30 64 bit 対応のその後 2

前回の続きについて述べることにします。
Visual Studio 2008 では x64 対応ができそうだということを述べましたが、新たな問題があることがわかりました。

Visual Studio 2008 で a! Reg Analyzer の 32 bit 用 exe を作成し、Windows Me で実行してみました。すると以下のメッセージボックスが出てきました。

更に Windows NT4.0 で実行すると以下のメッセージボックスが出てきました。

つまりコンパイラーを Visual Studio 2008 に変えるということは、同時に Windows 9x と NT4.0 ではもう動作しなくなるということです。 32 bit 用 exe を作成するときは Visual Studio 6.0 を使い、64 bit 用 exe を作成するときは Visual Studio 2008 を使うということも考えられなくはないですが、正直言ってめんどくさいです。

また、Before Power Off、Multi Function Alarm、Virus Mail Killer に関しては、Borland C++ Builder 3.0 を使っていますが、最新の C++ Builder 2009 を見ても 64 bit 対応を行っていません。

結論として 64 bit 対応は時期尚早として様子見とします。


2008/08/15 64 bit 対応のその後

以前 64 bit 対応は暫く中断すると宣言しました。
WOW64(32 bit用 exe を 64 bit 環境で動かす)の中で対応しようとも思っていましたが、それは一部のソフトで不可能であることがわかり、全部を中断することにしました。なぜ一部ではなく全部を中断したかというとWOW64というのは、あくまで応急処置だからです。いずれ、ネイティブな対応(64 bit用 exe を作成する)をする必要があります。

ネイティブな対応に関してこの夏休みの中で調査しました。Visual C++ 2008 Express Edition(無料)をインストールしてみましたが、そもそも「64ビット コンパイラ サポート(x64)」をしていませんでした(ここを参照)。そこでVisual Studio 2008 Professional Edition (90 日間評価版)を入れて試してみました。

試す対象のソフトは「a! Reg Analyzer」で、64 bit用 exe を作成し、とりあえずトップの画面が出るまでと考えコンバージョンしてみました。コンパイラーからの様々な警告や実行時のエラーメッセージを無視して、その結果が以下のとおりです。

64 bit用 regedit の表示は以下です。

上記2つは一致していることがわかります。

参考までに 32 bit用 regedit の表示も示しておきます。

これは 64 bit 対応を今すぐするということではありません。


2008年7月分

戻る