Минималистичное приложение Visual C ++, которое показывает окно - PullRequest
0 голосов
/ 19 января 2012

Я пытаюсь создать приложение C ++ в Visual Studio 2010, которое соответствует следующим критериям:

  1. Отображение пустого окна
  2. По возможности мал (например, под 100kb)
  3. Запускается при новой пустой установке Windows XP (не требуются любые среды выполнения, библиотеки и т. д.)

По сути, я хочу избавиться от времени выполнения. Единственное, что мне нужно, это вызвать функции WinAPI для отображения окна и BitBlt что-то на его поверхности.

Возможно ли это?

Ответы [ 2 ]

3 голосов
/ 19 января 2012

1/2: Visual Studio может сгенерировать простой шаблон, который является именно тем, что вам нужно (отображает пустое окно).Используйте File -> New -> New Project -> select 'Win32 Project' -> click 'Finish' для создания проекта.Двоичный файл Release \ Win32 имеет размер 81 КБ при статической привязке к библиотеке времени выполнения C (подробнее об этом ниже).Конечно, добавление вашего кода, вероятно, увеличит размер двоичного файла.Возможно, вы захотите взглянуть на настройки оптимизации или даже двоичное сжатие , чтобы минимизировать размер.Последнее я бы не рекомендовал из-за частых ложных срабатываний антивирусного программного обеспечения.

3: Вам нужно будет статически связываться с библиотекой времени выполнения C ,Это можно настроить в Configuration Properties -> C/C++ -> Code Generation -> Runtime Library (выберите /MT для выпуска и /MTd для отладки).Это позволит вам запустить исполняемый файл без присутствия распространяемого пакета Visual C ++ 2010 установка.

Обратите внимание, что для двоичных файлов, скомпилированных с Visual Studio 2010, требуется Windows XP SP2 или выше.Возможно, вы захотите проверить этот обходной путь , если вам нужно ориентироваться на версии Windows XP, предшествующие SP2.

3 голосов
/ 19 января 2012

В документации MSDN есть хороший пошаговый пример WinAPI "Hello, World!".Вам просто нужно взять немного кефира и попасть в него;)

...