|
2008-02-26 Tue 23:33
久々にマイライブラリを更新中。
DLLは創り方分かったけどとりあえず今は書かない。 で、.libにて初歩的な変わる事の無いcreateWindowなどの部分を行おうと作っているわけだが、 ウィンドウクラスの登録時にWndProcが必要じゃん。 WndProcも.lib内に作るか、外部から関数ポインタをもらわないとならないのか…でもゲームで使うのなんてたかが知れてるし、 WM_DESTROYだけちゃんと対応出来てれば良いのかこれ。 うーむ一から作る場合を完全に忘れているなぁ。 というか変わらんと言っても、exeにアイコン付けるなりマウスアイコン変えるなら改造が必要になるのか。 どうしたものかなぁ。 しかしWM_KEYDOWNにて処理を頑張って書いていた初のゲーム制作が懐かしい( ´∀`) 今考えればありえん(笑) シーケンスも超グローバルなint型変数に0/1/2となんだか分からん数字を付けてたなぁ( ´∀`) enumの存在すら知らなかったとか、ありえん(笑) ちょこちょこ作り直して行こうかねヾ( ゚∀゚)シ |
|
2008-02-24 Sun 15:21
会社での色々を見ているとライブラリってすげーなと思うことがあり、
.libファイルはどう創られているのかを実際に試して確認してみた。 ライブラリには2つの種類、 ダイナミックリンクライブラリ(DLL)、スタティックリンクライブラリがある。 自分の勝手な判断では、 DLLはexe実行時に読むため差し替えるだけで更新可能。 スタティックはビルド時にexeの中に取り込まれるため、ライブラリ自体が更新されたら本体も更新が必要。 という感じ。 DLLの方が親切っぽいけど、 間違って消したら動かなくなるし更新したらexe創りなおしでいいんじゃねって感じ。 まぁこの考え方間違いなのかもしれないけど。 ググり方が下手なせいでいまいち詳しく分からん… てことで実際にVisual Studioにて.libを生成してみる。 長くなるので続きから。 |
|
2008-01-18 Fri 00:58
散々stringのfind関数使えねーとか思ってたら、
某環境では簡単にfind()してくれるというなんともな状況。 どちらが実際の挙動なのかは分からないが、 string word = "abcde"; string ng = "cd"; // JASRAC的な意味で word.find( ng ); で返ってくる値は 2 のはずである。 家の環境では完全一致した場合にのみ 0 が返ってきて、 それ以外は全て -1 が返ってくる。 しかし某PCだとちゃんと 2 が返ってくるというね。 てっきり2バイト文字を含めたのが駄目なのかと思ったが、 家の環境で全て1バイト文字にしても結果は変わらず 0 か -1 のどちらか。 これはどちらが正しい挙動なのだろう。 まぁ要は動けばいいのである。 Windows環境だろうとLinux環境であろうと。 テストして2バイト文字だろうがエスケープ文字だろうが問答無用で検索できればそれでおk。 それでいいじゃない。 |
|
2008-01-17 Thu 00:48
なんか前頭葉というか頭が痛いわけです。
そんな状態で文字列比較第2弾。 とりあえずサンプルは前回のソースのまま。 今回はXPマシンでVS2003、VistaマシンでVS2005という2つの状況で調べてみる。 検査対象は string.find() string.find_first_of() string.find_first_not_of() の3つ。 そういえば後ろから読んでNG、というのは気にしなくていいのだろうか。 とりあえずfindメソッド関連の引数を調べて見る。 標準C++ライブラリ 検索にすぐ引っかかったページを参考にさせてもらう。 どうやら、 第1引数:調べたい文字列 第2引数:○文字目から調べるの○ 第3引数:調べたい文字列の文字数 くらいのもののようだ。 基本的に戻り値は、その文字がある位置を返す数値らしい。 おそらく第1引数以外は指定しないとデフォルト値が入るから必要ないものだろう。 第2引数は指定しなければ最初から、第3引数は勝手に長さを調べてくれるものと思われる。 でも前回の結果にある変な数値はどうみても正しい戻り値ではないと思っていたんだけど。 ![]() 今回においても結果は同じ。 ようやく理解出来たが、これ検索文字の何番目の文字が検索対象に存在しているかが返ってきてるのね。 ptaなら検索対象にaがあるから0:p,1:t,2:aで2が。 cashなら検索対象にaがあるから0:c,1:a,2:s,3:hで1が、という風に。 くそ…納得するのに時間掛かりまくりんぐ。 と思ったらこっちでは違う結果が出ている模様。 なんだこれ。 良く分からなくなってきた。 寝よう。 |




