приложения для Windows - PullRequest
1 голос
/ 06 мая 2009

Здравствуйте, я новичок в c ++ из php. Хотя я не абсолютный новичок, то есть я программировал большие приложения, управляемые БД, используя oop php и sql, я хотел бы знать, каков общий процесс создания автономных приложений для Windows с использованием c ++ в части шаблонов, компиляций API и т. .

РЕДАКТИРОВАНИЕ: Что касается графического интерфейса, как бы вы визуальный интерфейс что-то вроде Firefox. Как создать внешний вид, потому что он не совсем похож на библиотеку AWT, как в Visualc ++?

Ответы [ 4 ]

4 голосов
/ 06 мая 2009

Я думаю, вам действительно стоит взять копию Программирование для Windows 5th Edition Чарльза Петцольда, чтобы помочь вам с большим количеством этой справочной информации.

1 голос
/ 06 мая 2009

Библиотеки Microsoft:

Из неуправляемого C ++ вы можете использовать собственный Win32 API, MFC или ATL / WTL.

Собственный Win32 API представляет собой набор методов в стиле C, предоставляемых семейством операционных систем Windows. Эти API работают, управляя окнами и циклами сообщений. Вы можете начать читать о Win32 в разделе MSDN Windowing .

MFC - это библиотека классов C ++, которая предоставляет богатые объектно-ориентированные оболочки для Win32 API. Он абстрагирует окна Win32 как класс CWindow и циклы сообщений как CMessageMap. Вы можете узнать больше о MFC на MSDN.

ATL / WTL - это легковесная библиотека шаблонов C ++, которая начиналась как оболочка C ++ для COM, а затем переняла некоторые идеи из MFC (таким образом, разделяя те же имена классов) для поддержки оконного режима Win32. Поддержка окон ATL была позже разделена на WTL, который затем был выпущен как открытый исходный код. Поддержка окон ATL документирована в MSDN в разделе Классы окон ATL .

В управляемом C ++ вы можете использовать либо WinForms, либо WPF. Оба довольно подробно описаны в MSDN, хотя их документация и примеры сильно перекошены для C # и VB.Net. Я лично также рекомендую вам взглянуть на C #, если вы хотите изучить эти платформы пользовательского интерфейса.

Что вам нужно для этого:

Конечно, сначала вам нужен компилятор C ++. : -)

Чтобы использовать Win32 API, вам нужен только Windows SDK и дополнительно Visual C ++ Express .

Чтобы использовать MFC и ATL, вам необходим один из выпусков Visual Studio Professional или более поздней версии. ATL и MFC не включены в Visual C ++ Express. (ATL / MFC может быть включен в WIndows SDK или другие бесплатные продукты, о которых я не знаю.)

WTL 8.0 доступен для бесплатной загрузки . Вы также можете получить источники WTL из Source Forge WTL проекта .

Чтобы использовать WinForms или WPF, вам нужна последняя .Net Framework (ну, в общем, вам нужна любая .Net Framework :-)) и опционально Visual C # / VB.Net Express . Я не уверен, поддерживает ли Visual C ++ Express управляемый C ++.

Сторонние опции:

Существует несколько сторонних библиотек C ++, которые обертывают / абстрагируют собственные API Win32. Некоторые из них достаточно абстрактны, чтобы позволить разработку пользовательского интерфейса не только для Windows, но и для других платформ. Qt и wxWidgets - пара, о которой я знаю, но никогда не использовал.

0 голосов
/ 06 мая 2009

Его вопрос был намеренно широким: цитата «Я хотел бы знать, каков общий процесс».

К ОП: Сначала вам нужно решить, собираетесь ли вы использовать консоль или создавать приложение с поддержкой графического интерфейса.

В большинстве учебных пособий hello world вы обнаружите, что они должны нормально работать на любой платформе, если у них есть доступ к какой-либо консоли.

Как только вы поймете, как работает C ++ и как создавать простые программы, вы можете начать изучать библиотеки Windows, которые предоставляют вам графический интерфейс и еще много чего.

Итак, для начала возьмите себе компилятор C ++ (DevCpp на www.bloodshed.net - это хорошо) и сделай основной привет, мир и еще много чего.

Тогда нужно реализовать все, что вы хотите от windows.h и других компонентов.

Что касается API, это будет зависеть от типа программы, которую вы хотите создать: для изображения / звука / ввода (т. е. игр / просмотрщиков изображений / медиаплееров) вы должны изучить Стандартную библиотеку разработки или SDL.

Для создания GUI вы можете использовать Windows API, как указано выше, или проверить Qt на www.qtsoftware.com или wxWidgets на www.wxwidgets.org

в качестве бонуса, если вы как можно больше воздержитесь от использования Windows API, вашу программу будет намного проще портировать.

SDL, Qt, wxWidgets - все кроссплатформенные.

0 голосов
/ 06 мая 2009

Я думаю, что ваш вопрос слишком широкий. Попробуйте разбить его на более мелкие части, например, вопросы о начале работы с программированием GUI для окон, вопросы о шаблонах, вопросы о формировании API и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...