Basicのエミュレータ作成:完全に行き詰りましたTT

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
記事: 26
登録日時: 9年前
住所: 新潟

Basicのエミュレータ作成:完全に行き詰りましたTT

#1

投稿記事 by » 9年前

WindowsCE上で動作するBasic(プログラミング言語)のエミュレータを作っています。
手始めにXP上で動作するものを下のサイトを見ながら作ってみて、それをceに移植しようともがいています。
自分の知識ではぐぐるキーワードさえもう、思いつかず、どうにも手に負えなくなってしまいました。
せめてCE用のデバッガがあればもう少しがんばれそうなのですが、CE用のデバッガも探しても見つからず・・・

参考にしたサイト
URL:http://masudahp.web.fc2.com/cl/mbasic/index.html

使用OS
WindowsXP
WindowsCE6.0core(SHARP Brain PW-GC590に搭載)

開発環境
XP用→VC++2008
CE用→eVC++4.0

使用方法
XP用:メニューからファイルを選択して開いたのちメニューからDOを押すと実行する
INPUT使用時は下のテキストボックスにフォーカスが移り入力をしたのちOKボタンを押すと
 入力される
CE用:基本的にXP用と同じ
ただし、ファイル読み書きをまだ実装できていないため、常に同じフォルダにあるde.txtを
 実行する。

現状までに成功したこと。
XP用のプログラムは正常に動作しているようです。
CE用のプログラムでどこかおかしいことになっているみたいです。

問題点
・CE用のプログラムで実行すると、同じフォルダに入れてある実行ファイルde.txtを
  実行しても、INPUTで入力するときにA=0かつB=0または、A,Bともに入力なしでOKを幼いと
  無限ループに入るようで、MessageBox(GhWnd,_T("Error'sbmain'\r\n"),_T("Error"),MB_OK);
  がずっと実行されているようです。

注釈(CE用とXP用で所々違う理由を自分なりにまとめたもの)
・XPはUNICODEではなくてもいいが、CEはUNICODE?限定で_T(tchar.h)または_TEXT(windows.h)を
  文字列または文字の前につけなければならない。(型をキャストしている?)
・CEでは常にWM_PAINTがだされているみたいで、WM_PAINTに描写関係を入れるとちらつく(WM_PAITN内にMessageBox()を入れるとループに)
・ごく初期的なライフゲーム作成し同一のCE上で実行したときは正常にどうさしました。(一応添付しておきます。)

最後に
おかしなコメントが入っていたり、一度も呼ばれていない変数や関数があったりします。
ソース全体を整形してから質問しようかとも、思ったのですが、これ以上いじると
さらに問題が増えていき、また、解答者様が流れを追いづらくなるかと思い、一切合財を残してあります。
なお、file.cppならびにfile.hはまだ一切CE用にしていないため、使用していないので、file.cpp関係の指摘は結構です。

質問点
・どこが悪いのか?
・なにが原因と考えられるか?
・問題点がもし検討もつかない場合はこれからどうしたらよいか?
/*一度プロジェクトを新しく作りなおして、コードをきれいにしつつ書きなおしてみる等など・・・*/

現状までコードを書いたのち約2か月ほどデバッグを続けてきたのですが、一切進歩せずについにソースを○投げしてしまいました。
CE用のプログラムだとデバッガ?で各変数の値を追うことができずに、デバッグの方法も手探りでやってみたのですが、
遂に、方策がつきました。どうか、問題点や怪しい点を教えてください、お願いします。

プロジェクトごと一式添付したのでよろしくお願いします。
添付ファイル
Csitumon.zip
Basicエミュソースコード
(11.89 MiB) ダウンロード数: 20 回

“C言語何でも質問掲示板” へ戻る