要望を頂いている訳ではないが、EBWin4の64bit版を実験的にビルドしてみた。
WindowsのクライアントOSではVistaから64bit版が提供されるようになり、現在ではインストールベースで64bitが32bit版を上回っている。32bitOSでは物理メモリが3GBが上限だが、64bitなら物理メモリの上限まで使用できる。
ちなみにmac OSもHigh Sheirraが32bitアプリが動作する最後のOSと告知されており、iOSもiOS11から32bitはもはや実行できない。Windowsアプリもいずれは64bit対応が必須になるだろう。
EBMacやEBPocketはすでに64bit化が済んでおり、EBWin4もそろそろ64bitネイティブ化する時期だと思う。
Visual Studio で64bitアプリを作成する
既存の32bitアプリを64bit化する手順は、
- 構成マネージャからプラットフォームに<新規作成>でx64を追加する
- ソリューション構成に<新規作成>でRelease(x64)を作成し、コピー元に32bit版のReleaseを指定する。プラットフォームをx64にする
- アプリからリンクするdllを全て64bit版にする。EBWin4の場合、zlibとsqlite3が外部DLLなので、各ホームページから64bit版をダウンロードする。
- .Net Frameworkでは32bitと64bitの違いは吸収されるが、C#のプロジェクトのプラットフォームはx86ではなくx64を指定しないといけない。
- WindowsインストーラのTargetPlatform をx64とし、Default Locationの指定を ProgramFiles64Folder とする
本当に64bitで動いているかどうかは、タスクマネージャで確認できる。
1日くらいの作業で64bit化できたが、私の通常の使用環境だと32bitとの違いは全然感じない。数十個の辞書をグループ化して検索するような極端なケースでは、多少恩恵があるかもしれない。
次の目標はEBStudio2の64bit化になるが、これは4GB超の巨大辞書を作るときに必要になると思う。
P.S.
EBStudio2の64bit版も2/27にリリースしました。特に問題はないように見えます。