次の基準に一致するC++アプリケーションをVisualStudio2010で作成しようとしています。
- 空のウィンドウを表示します
- 可能な限り小さい(たとえば、100kb未満)
- Windows XPの新規の空のインストールで実行されます(ランタイム、ライブラリなどは必要ありません)
基本的に、ランタイムを取り除きたいです。必要なのは、WinAPI関数を呼び出してウィンドウを表示し、その表面にBitBltを表示することだけです。
出来ますか?
次の基準に一致するC++アプリケーションをVisualStudio2010で作成しようとしています。
基本的に、ランタイムを取り除きたいです。必要なのは、WinAPI関数を呼び出してウィンドウを表示し、その表面にBitBltを表示することだけです。
出来ますか?
MSDNのドキュメントには、WinAPI「Hello、World!」の優れたステップバイステップの例があります。あなたはほんの少しのケフィアを取り、それに入る必要があります;)
1/2: Visual Studioは必要最低限のテンプレートを生成できます。これはまさに必要なものです(空のウィンドウを表示します)。File -> New -> New Project -> select 'Win32 Project' -> click 'Finish'
プロジェクトを作成するために使用します。Cランタイムライブラリに静的にリンクする場合、Release \ Win32バイナリは81KBです(これについては以下で詳しく説明します)。もちろん、コードを追加すると、バイナリサイズが大きくなる可能性があります。サイズを最小化するために、最適化設定またはバイナリ圧縮を確認することをお勧めします。後者は、ウイルス対策ソフトウェアからの誤検知が頻繁に発生するため、お勧めしません。
3:Cランタイムライブラリに静的にリンクする必要があります。これは、 (リリース用とデバッグ用にConfiguration Properties -> C/C++ -> Code Generation -> Runtime Library
選択)で構成できます。そうすることで、Visual C++2010の再配布可能なパッケージがインストールされていなくても実行可能ファイルを実行できるようになります。/MT
/MTd
Visual Studio 2010でコンパイルされたバイナリには、WindowsXPSP2以降が必要であることに注意してください。SP2より前のバージョンのWindowsXPをターゲットにする必要がある場合は、この回避策を確認することをお勧めします。