サブシステムバージョン
またまたホーミンさんにツッコミ入れられて、あたふたと調べ物をしているわけですが、せっかくなんでエントリに放り込んでおきます。
まず、サブシステムとは何ぞや? というと、MSDNの解説によれば
/SUBSYSTEM オプションは、オペレーティング システムに .exe ファイルの実行方法を指定します。
サブシステムの選択によって、リンカが選択するエントリ ポイント シンボル (またはエントリ ポイント関数) が決まります。
とのこと。
うーむ、なにやらコンパイル結果にも影響を与えるようですね。
ちなみにGSFinderでは、リンカオプションに
/subsystem:$(CESubsystem)
というのが追加されていました。解説ページの情報を拾ってみるに、要するにこれは
/subsystem:windowsce,4.10
と同等だと思われます。これがホーミンさんの「配布exeのSubsystemバージョンが4.10なのは何故?」というツッコミの原因ですね。
WindowsMobile5や6ではどうなのかと、VS2005で新規プロジェクトを作成し、適当なアプリケーションをでっちあげてリンカオプションを見てみたところ、
/subsystem:windowsce,5.01 # WindowsMobile5 PocketPC SDK /subsystem:windowsce,5.02 # WindowsMobile6 Professional SDK
となっていました。
一応、GSFinder+ for W-ZERO3はWM5以降向けのアプリケーションなので、5.01を指定しておこうと思います。