Как я могу начать программировать на C++ на Win32?

У меня есть потребность / желание научиться программировать против Win32 на C++. Я немного смущен тем, что такое Win32, так как у меня нет опыта работы с этой платформой.

Что бы вы посоветовали мне начать программировать и отлаживать программы на C++ в Win32?

Модератору действительно нужно исправить этот вопрос.

user37875 14.01.2009 17:26

@workinprogress: Принято и готово.

GEOCHET 29.01.2009 23:03

Я не могу понять причину такого количества голосов против ... парень попросил указатели на платформу + язык ... в чем ТВОЯ проблема?

jpinto3912 03.06.2009 19:27

@jp Я подозреваю, что большинство голосов "против" пришлись на первую редакцию этого вопроса. Забавно, как простое редактирование для использования более правильной / сложной грамматики и фактического использования пунктуации делает вопрос намного более разумным, хотя по сути он не изменился.

Ben Schwehn 05.06.2009 12:51
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
4
5 713
5

Ответы 5

Win32 обычно относится к Win32 API, который может использоваться для взаимодействия с операционной системой Windows. Он также может относиться к платформе, которая является 32-битной версией Windows. Для его компиляции вам понадобится такой компилятор, как Microsoft Visual C++ или MinGW / gcc.

Эй, подожди здесь. Это огромная тема. Вы пытаетесь понять, что такое Win32, для собеседования или чего-то подобного? Если вам нужно изучить Win32, вам понадобится книга Чарльза Петцольда Programming Windows 5th Edition:

http://www.charlespetzold.com/pw5/

Неважно, что он старый; это практически все по-прежнему применяется.

@downvoter Объясняйся и моли прощения. Пусть тот, кто написал этот ответ, избавит тебя от бремени, лежащего на твоем сердце.

Mateen Ulhaq 29.03.2012 08:21

Отвечая на ваши (оригинальные) вопросы по очереди:


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.

mmmmmmmm 13.01.2009 20:52

Вы должны отредактировать, чтобы включить ссылки на компилятор C++ 5.5, отладчик и компоновщик (приложение, dll и библиотекарь), БЕСПЛАТНО от ex-Borland

jpinto3912 03.06.2009 19:25

Зачем мне упоминать компиляторы Borland (Embarcadero или кто-то еще, для меня они всегда будут Borland)? Я подозреваю, что их проникновение на рынок - это статистический всплеск рядом с теми, о которых я упоминал, и теперь они просто любопытство (IMNSHO).

paxdiablo 04.06.2009 03:33

Формально Windows API - это основной набор интерфейсов прикладного программирования Microsoft. Для тех, кто спешит! Получите Microsoft Visual Studio. Запустите его, выберите «Файлы»> «Новый проект» и выберите «Консольное приложение Visual C++ и Win32». Это поможет вам быстро приступить к работе и упростит отладку.

Вы можете загрузить бесплатные версии Visual Studio Express (например, Visual C# Express, Visual C++ Express) из здесь, и, хотя они не имеют более продвинутых функций этих продуктов, они по-прежнему очень хороши для обучения.

Другие вопросы по теме