TVTestのソースコードをちまちまと読み進めた

visual studio C++をあまり使ったことがないので、この機に調べてみようと思った。

そもそもエントリーポイントはどこなのだろうという話だが、普通にmainで検索してたら、AppMainクラスと_tWinMainが見つかった。

WinMain関数 - インコのWindowsSDK

WinMainについてはgoogleで最上位にきたやつを読んだ。

気になった点はここ

#define WINAPI __stdcall
#define WINENTRY WINAPI

なるほど。これは単なる呼び出し規約の宣言だったのか。また知見が増えた。
呼び出し規約について知らない人は、アセンブラの関数呼び出しを調べてみるといいと思う。いろいろな種類があるので。

ところで、エントリーポイントはint _tWinMainっていうのがわかった。
そんで、
CMainAppクラスのmainを呼び出してる感じ。
g_appはシングルトンかと思ったんだけど、ちょっと違う臭い。

Cのシングルトンって
ファイル内にstatic化したクラスを置いてnon-staticなその型の変数置けばシングルトンになんないのかなと思った。
C++のシングルトンはクラスあるんだしシングルトンパターンでできそうな気もするけど、試す時間はないかなぁ。


ビルドスクリプトがどこなのかわからないんだけども。