У меня есть потребность / желание научиться программировать против Win32 на C++. Я немного смущен тем, что такое Win32, так как у меня нет опыта работы с этой платформой.
Что бы вы посоветовали мне начать программировать и отлаживать программы на C++ в Win32?
@workinprogress: Принято и готово.
Я не могу понять причину такого количества голосов против ... парень попросил указатели на платформу + язык ... в чем ТВОЯ проблема?
@jp Я подозреваю, что большинство голосов "против" пришлись на первую редакцию этого вопроса. Забавно, как простое редактирование для использования более правильной / сложной грамматики и фактического использования пунктуации делает вопрос намного более разумным, хотя по сути он не изменился.





Win32 обычно относится к Win32 API, который может использоваться для взаимодействия с операционной системой Windows. Он также может относиться к платформе, которая является 32-битной версией Windows. Для его компиляции вам понадобится такой компилятор, как Microsoft Visual C++ или MinGW / gcc.
Эй, подожди здесь. Это огромная тема. Вы пытаетесь понять, что такое Win32, для собеседования или чего-то подобного? Если вам нужно изучить Win32, вам понадобится книга Чарльза Петцольда Programming Windows 5th Edition:
http://www.charlespetzold.com/pw5/
Неважно, что он старый; это практически все по-прежнему применяется.
@downvoter Объясняйся и моли прощения. Пусть тот, кто написал этот ответ, избавит тебя от бремени, лежащего на твоем сердце.
Отвечая на ваши (оригинальные) вопросы по очереди:
1 / Кто-нибудь скажет мне, что такое Win32?
Win32 - это интерфейс прикладного программирования (API) для Windows. В частности, это для 32-битной Windows и более поздних версий, поскольку старый API был в основном для 16-битных версий Windows, Windows ME и более ранних версий.
В сторону: я почти уверен, что Microsoft может захотеть забыть о существовании ME и просто переписать учебники истории, чтобы сказать, что они перешли прямо с Win98 на Win2k; кое-что, что они, вероятно, также захотят сделать с другим из своих продуктов: «Vista, что такое Vista? Все, о чем мы знаем, это Windows XP и Windows 7». :-)
Первой версией Windows, полностью поддерживающей Win32, была Windows NT.
API - это набор вызовов, которые вам разрешено делать. Для Windows он включает в себя такие вещи, как создание окон и управление ими, многопоточность, рисование графики, рендеринг текста и так далее. По сути, это то, как ваша программа взаимодействует с операционной системой Windows для выполнения задач.
Компании публикуют свои API, чтобы клиенты могли делать с ними полезные вещи. Есть и другие способы заставить продукты работать, но они обычно известны как недокументированные функции, и, хотя хорошая компания сделает все возможное, чтобы более поздние версии API не нарушали ваш код, использование недокументированных функций это не их проблема. Используйте их на свой страх и риск.
2 / Как мне скомпилировать и запустить программу C++ в win32?
Для этого вам понадобится компилятор. Популярные варианты - Microsoft Visual C++ (вы можете получить выпуск Visual Express бесплатно от Microsoft), CygWin или MinGW (минималистичный GNU для Windows). Поищите в Google "бесплатные компиляторы C++ для Windows".
Компилятор берет исходный код C++ и превращает его в исполняемый код, который можно запускать в целевой системе (в данном случае Windows).
Когда у вас есть исполняемый файл, вы запускаете его, как любую другую программу. Если вы создаете исполняемый файл do_something.exe на своем пути, просто введите do_something в командной строке.
Компиляторы не ограничивают вас только инструментами командной строки, они также позволяют создавать полнофункциональные графические приложения, поэтому вы можете просто дважды щелкнуть исполняемый файл в диспетчере файлов или создать связанный тип файла для автоматического запуска исполняемого файла для определенные типы файлов.
3 / Как отлаживать Win32 с помощью программы на C++?
Интегрированная среда разработки (IDE) Visual C++ включает в себя компилятор и отладчик. Отладка относительно безболезненна, поскольку вы можете просто пройти по каждой строке программы и изучить ее поведение. Другая среда, такая как MinGW и CygWin, имеет отладчики командной строки, которые не так тесно связаны с Windows, как Visual C++.
Но я должен признать, что иногда я все еще занимаюсь отладкой, вставляя операторы printf в свой код и перекомпилируя. Старые привычки умирают с трудом.
4 / Что еще мне нужно знать, когда я пишу программу на C++ в win32?
Я не знаю, с чего начать. Впереди у вас долгое (но, надеюсь, приятное) путешествие. Было бы разумно вернуться сюда с другими конкретными вопросами, если вы организовали установку компилятора и попытались скомпилировать и запустить свою первую программу.
Удачи.
Windows ME / 98/95 также содержала реализацию Win32.
Вы должны отредактировать, чтобы включить ссылки на компилятор C++ 5.5, отладчик и компоновщик (приложение, dll и библиотекарь), БЕСПЛАТНО от ex-Borland
Зачем мне упоминать компиляторы Borland (Embarcadero или кто-то еще, для меня они всегда будут Borland)? Я подозреваю, что их проникновение на рынок - это статистический всплеск рядом с теми, о которых я упоминал, и теперь они просто любопытство (IMNSHO).
Формально Windows API - это основной набор интерфейсов прикладного программирования Microsoft. Для тех, кто спешит! Получите Microsoft Visual Studio. Запустите его, выберите «Файлы»> «Новый проект» и выберите «Консольное приложение Visual C++ и Win32». Это поможет вам быстро приступить к работе и упростит отладку.
Вы можете загрузить бесплатные версии Visual Studio Express (например, Visual C# Express, Visual C++ Express) из здесь, и, хотя они не имеют более продвинутых функций этих продуктов, они по-прежнему очень хороши для обучения.
Модератору действительно нужно исправить этот вопрос.