これは今すぐ試すことができます。
WinMain と wWinMain の両方を定義し、スタティック ライブラリとしてコンパイルします。
実行ファイルexeの新規プロジェクトを作成します。
文字セット設定 UNICODE系を設定します。(define _UNICODE)
作成した静的ライブラリをリンクします。
次に、プログラムは WinMain から開始します。
文字セットがマルチバイトかユニコードかに関係なく、WinMain と wWinMain の両方が定義されている場合、WinMain が呼び出されます。
これは、静的ライブラリで WinMain を定義した場合にのみ発生します。
含むソース プロジェクトで WinMain と wWinMain を定義すると、正しく動作します。
Unicode システムは wWinMain を呼び出し、マルチバイト システムは WinMain を呼び出します。
なぜそれが起こるのですか?