戻る

グラフィックスプログラマになる 01 (2024/05/18)

前回、プロジェクトの生成までは上手くいった。あとは、ソースコードを書き加えて、グラフィックスの処理を行っていけば良い。手始めに、生成されたコードを覗いてみよう。多分、こんな感じのコードが生成されているはずだ。



うっ、頭が……。プログラミング経験者ですら、頭が痛くなると思う。正直なところ、これらが何をしているのか、理解する必要はないと思う。私ですら、何をやっているか分からないところはある。我々が学びたいのは「グラフィックスのプログラミング」であり、「Windows (Win32) プログラミング」ではない。完全に理解できなくても問題ない。

プログラムの実行順

文章を上から下に読んでいくように、プログラミング言語も「上から下に、一行一行順番に実行」されていく。



この辺りのコードでいえば、

LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);

が最初に実行され、

LoadStringW(hInstance, IDC_WINDOWSPROJECT1, szWindowClass, MAX_LOADSTRING);

が次に実行され、

MyRegisterClass(hInstance);

が最後に実行される。

// グローバル文字列を初期化する

という行があるが、これは「コメント」という単なる「メモ・付箋」みたいなもので、開発のヒントや、未来の自分に残すメモである。何の処理もされないので無視しよう。

一行一行、実行してみる

プログラムが一行一行実行される様子を見てみよう。



31 (行目) の左に、グレーの領域がある。ここをクリックしてみると、上の画像のように、赤丸が表示される。もう1度クリックすると、消える。もう1度クリックして、再度赤丸を表示させてみよう。

これが「ブレイクポイント」というもので、「プログラムがここに来た時に、一時停止してください」という目印になっている。一時停止してくれるのは「デバッグ実行時」だけなので注意して欲しいが、当面はデバッグ実行しかしないので気にしないで欲しい。

画面上部「ローカル Windows デバッガー」ボタンを押して実行すると、



こんな感じの画面になると思う。31行目のところに、矢印がある。これが「現在実行している位置」を表す。確かに31行目までプログラムが到達した瞬間に、一時停止してくれている。次の行に進めたい時は、



「デバッグ」メニューの「ステップオーバー F10」を選べば、次の行に進む。何度もメニューを選択するのは面倒なので、F10キーを押して進めよう。

ブレイクポイントは、何個でも置ける。次のブレイクポイントまで一気に進めたい場合は、



「ローカル Windows デバッガー」ボタンが「続行」ボタンに変わっているので、それを押せば一気に次のブレイクポイントまで進みます。

色んな場所にブレイクポイントを置いて、ローカル Windows デバッガー でデバッグ実行して、ステップオーバーで一行一行実行してみたり、続行で一気に進めたりして遊んでみよう。