UE4ソース読み WinMainから始まると思い込んではいけない
UE4の始まり
私は最初ウィンドウが出るものだから
WinMainから始まるだろうと思い、
Ctrl+Fを使ってソリューションの中のWinMainを全て探し
ブレークポイントを貼ってF5実行しました。
(WinMain探すのにも数分かかりましたw)
そうしたらまさかのどれにもヒットせず、
ただ一瞬コンソールが出て終了してしまいました。
その後もmainという名前が入っている関数に片っ端から
ブレークポイント貼って探していきました。
ですが、UE4のファイル数と行数はえげつないです。
全部人力で見ていったらとてもじゃないですが時間が足りません。
どうすればいいんだと途方にくれていたんですが
F11でステップイン出来ることを思い出しました。
(普段F12のタイプミスでしょっちゅうやってるのにね)
ということでF11を押してみました。
そうしたらこんなとこに出ました。
BlankProgram.cpp
INT32_MAIN_INT32_ARGC_TCHAR_ARGVとは??
MAINって入ってるからmain関数の仲間なんだろうと予測は出来るけど
今まで見たことも聞いたこともないぞ?
ということでググってみました。
どうやらUE4のみに存在するものっぽいです。
ということで今度はUE4内でジャンプしてみます。
どうやらビルド時の設定によってmain関数を振り分けるマクロっぽいです。
UE4はまずコンソールで起動してから
各種ウィンドウを生成していくって感じなんですかね。
確かにエンジンは複数ウィンドウがあるので、
そちらの方が効率的に管理ができるのかもしれませんね。