スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 32Bit版もビルド可能化 | トップページ | UFOバトラーも1,000越え »

32/64Bit版の合体も完了

今は、MasterReversiの次バージョンを開発中で、現行版はUnicode文字セットにはなっておらず、また、32Bit用と64Bit用でビルド環境が別になっていたので、今回の開発で、まず最初に、それらを何とかしようとしていたのだが、今日の時点で、本体については、何とかなった。

昨日の時点では、とりあえず、64Bit版と32Bit版を、それぞれ、別環境で、Unicode文字セットにしてビルド出来る様にしていたのだが、今日は、一つのビルド環境で、32/64Bit版をビルド出来る様にした。

具体的には、まず、昨日書いていた様に、BookとDataBaseについては、現行版では、32Bit版と64Bit版のソースコードは、結構、異なるのだが、双方で、64Bit版のコードを使う格好に変更した。

これは何故なのか、というと、そもそものデータ構造が違うので、その影響は本来のBook/DataBase処理に留まらず、その表示/変更用に用意してあるダイアログ用のコードにまで及んでいる、という事が、昨日の変更作業を通じて判ったからだ。

つまり、32Bit用コードをそのまま残すと、何種類かのダイアログ用クラスを含めて、同じ様な処理を行う64Bit版と似て非なるコードが残る格好になるので、メインテナンス性を鑑みて、今回、64Bit用コードに統一した訳だ。

その結果として、昨日書いた様に、32Bit版のBook/DataBaseの処理速度は、現行版と比較すると、相対的には、微妙に低下する事になる筈ではあるのだが、絶対性能的には、現行の64Bit版と同等になるだけなので、実際問題としては、性能の低下は問題にはならない筈だ。

で、昨日書いた様に、評価演算用の処理ルーチンについては、32Bit用と64Bit用は、現行版と同様に分けたのだが、その方法としては、元々あったソースコードと同一ファイル名の別ファイルを作成し、その中に、#ifdef _WIN64 #else #endifブロックを作成し、その中で、64/32Bit用に記述したファイルを#includeする格好にした。

つまり、合体させたといっても、詳細レベルの話ではないので、これでメインテナンス性が向上するのか? という声も聞こえてきそうではある。

しかし、上記の様にしたクラスは2個だけに絞ったので、その他の148個のクラスについては、現行版では別ファイルになっていたのだが、今回、32Bit版と64Bit版で同一ファイルが使われる様になった。

なので、メインテナンス性は向上した訳なのだが、そもそも、64Bit版を開発する時に、最初から、こういう形態にしてあれば、問題は無かった筈ではある。

しかしまあ、作者的には、64Bit版の開発はMasterReversiが最初だったので、従来からあった32Bit版に悪影響を与えたくなかったので、そういう格好にしていた、という経緯がある。

しかし、今日の時点では、作者製ソフトの殆どで、32/64Bit版の双方をビルド出来る格好になっていて、最早、恐れる必要も無いので、今回、MasterReversiについても、合体させる事にした訳だ。

ちなみに、MasterReversiのProfessional版には、MRSolverとMRWorkerが付属するのだが、今日は、それらについても、Unicode文字セットへの変更と32/64Bit版の合体作業を行った。

これらでは、MasterReversi本体で使用しているクラスを共用しているので、メインプログラム以外についての変更作業としては、本体のクラスファイルをコピーし、若干の手直しを行うだけで済んだので、大体の作業は既に終わっている。

まだ、真面目な動作確認はしていないのだが、とりあえず、MRSolverについては、32/64版共にビルド可能になっていて、普通に起動する所までは確認できている。

MRWorkerについては、まだ少し作業が残っているのだが、明日には作業は完了する筈だ。

= この記事に関連する公開中ソフト =

MasterReversi

MasterReversi

(2016/05/04追記)

« 32Bit版もビルド可能化 | トップページ | UFOバトラーも1,000越え »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/63332782

この記事へのトラックバック一覧です: 32/64Bit版の合体も完了:

« 32Bit版もビルド可能化 | トップページ | UFOバトラーも1,000越え »

2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google