Разработка GUI с C++ в [закрытом] Windows Environment

Я полагаю, вы ищете:

способ управления распределением памяти в стеке, по крайней мере, в контексте не перезаписи уже использованной памяти

Конечно, об этом позаботится ОС! Системные вызовы низкого уровня гарантируют, что вновь созданная автоматическая переменная не будет записана в уже используемый блок памяти.

В вашем примере:

for (int i = 0; i < 5; i++) {
  int nums[5];
  ...
}

это не случай, так как nums выйдет из области действия , когда i-я итерация цикл for завершается.

В результате, блок памяти nums, сохраненный во время первой итерации, будет помечен как свободный, когда начинается вторая итерация, что означает, что когда nums первой итерации будет выделено в стек, он не будет знать о существовании nums первой итерации, так как он уже вышел за рамки - он не существует!

5
задан Cœur 5 March 2017 в 04:45
поделиться

9 ответов

С QT версии 4.5 теперь прибывает упакованный с официальным, кросс-платформенным спокойным IDE QtCreator. Просто загрузите и установите Qt 4.5, и Вы добираетесь, полнофункциональное (освобождает, IDE, конструктор форм, редактор ресурса), среда разработки бесплатно.

http://www.qtsoftware.com/downloads

6
ответ дан 18 December 2019 в 09:54
поделиться

Visual Studio 2008 + WTL был бы большой комбинацией, если Вы не волнуетесь по поводу межплатформенной поддержки. QT выглядит большим, но для простого приложения это могло бы быть излишество - распределение спокойного приложения означает поставлять набор DLLs, например, тогда как у Вас есть меньше зависимостей с WTL.

Просто мой 2c. Я не хочу запускать любые войны пламени здесь.:)

Википедия

Блестящий ряд статей WTL в Проекте Кода

2
ответ дан 18 December 2019 в 09:54
поделиться

В то время как возможно для использования текущего IDE и инструментария как QT при поиске пути наименьшего количества сопротивления необходимо пойти с Visual Studio. Вы найдете лучшую документацию и большую часть поддержки, идущей тем путем. Проверьте Express Edition, который свободен (как в пиве). Затем пойдите, захватывают копию хорошей книги по предмету как Windows Программирования Charles Petzold. Вы должны быть все установлены.

1
ответ дан 18 December 2019 в 09:54
поделиться

У Вас есть много опций, и Вы могли использовать много инструментов, как описано Charlie Martin. Я думаю, что, если Вы хотите самый легкий путь, необходимо использовать wxDev-C++, который является Dev-C++, связанным библиотекой wxWidgets GUI. После установки его можно непосредственно разработать приложения GUI без потребности в дополнительной конфигурации. Возможно, Dev-C++ является старый IDE, но Вы уже используете его, и Вы знаете это. И wxWidgets является солидной библиотекой GUI.

3
ответ дан 18 December 2019 в 09:54
поделиться

Я использую Окончательный ++ http://ultimatepp.org/ для кросс-платформенного C++ разработка GUI. Это также имеет полную библиотеку утилит для сетей, баз данных, и т.д. и действительно хорошего IDE. Это - лицензируемый BSD, таким образом, никакие проблемы, делающие, что Вы хотите с ним. Это имеет действительно хорошую общественную поддержку также.

1
ответ дан 18 December 2019 в 09:54
поделиться

Dev C++ больше не находится в процессе активного развития (и немного naff так или иначе). Если Вы хотите IDE с открытым исходным кодом, который поддерживает разработку Windows GUI, попробуйте Код:: Блоки.

0
ответ дан 18 December 2019 в 09:54
поделиться

Хорошо, существует две части к этому.

Первый - то, что в соответствии с Windows, Вы испытываете необходимость в библиотеке Windows GUI. Можно записать в Windows API несколькими способами, но самое простое должно использовать собственную Microsoft. Это означает забирать Visual Studio в некотором воплощении.

QT, Wx и otehrs являются всеми служебными библиотеками, созданными сверху основного Windows API. Они хороши для мобильности на другие платформы, но они обязательно добавляют некоторую сложность.

Для C++ Вам нужен компилятор. Снова, для Windows, самая простая вещь состоит в том, чтобы использовать Visual Studio, но существуют другие доступные компиляторы. Наиболее распространенный свободный будет компиляторами GNU. Простой способ получить их с Cygwin, но это - подобная UNIX среда.

Я думаю, что заключение состоит в том, что для новичка, Вы лучше всего выключены с Visual Studio.

После того как Вы получаете его, существуют многие учебное руководство вокруг в сети и в Microsoft, чтобы учиться использовать его.

4
ответ дан 18 December 2019 в 09:54
поделиться

Прежде всего Dev-C++ больше не разрабатывается и, кажется, отказался с большим количеством ошибок. Во-вторых, ЕСЛИ Вы хотите придерживаться окон API, проверьте мой небольшой Диалоговый Шаблонный проект.

Я просто добавил файлы проекта для Visual Studio 2008, Код:: Блоки и Dev-C++ только для получения Вас перемещение. Сообщите мне, нужно ли Вам что-либо еще, поскольку я был бы рад способствовать Вам.

0
ответ дан 18 December 2019 в 09:54
поделиться

Следующее предполагает предназначение для Windows только платформа (если Вы посмотрите перекрестная ОС - затем, много других сообщений касается различных вариантов).

Можно довольно повезти в этом, у Вас уже есть приложение, которое может быть запущено из командной строки. Совершенно возможно работать на одном из языков .NET и получить доступ к Вашему существующему приложению. Любой язык .NET (C#, VB.Net, управляемый С++) может привыкнуть к очень быстро конструкции UI и связать компоненты UI и события и затем иметь, которые обращаются к Вашему существующему приложению - передача необходимых параметров командной строки.

Другая опция: Управляемый С++ на самом деле позволяет Вам смешиваться управляемый (код .NET) и неуправляемый код (стандарты совместимый C++ - т.е. - Ваши существующие приложения) в тех же проектах (даже те же файлы для большого количества кода). Это предоставляет Вам доступ ко многим современным функциям IDE и библиотеке .NET для чего-либо сетевого, нового, который Вы хотите добавить. Вы просто играете немного с некоторыми настройками проекта и "это просто работает" (хорошо - могли бы быть некоторые вещи изучения, но это довольно легко).

В то время как у меня есть полная версия Visual Studio - я полагаю, что бесплатные версии "Экспресса" (http://www.microsoft.com/express/product/) довольно способны для многих из этих задач.

0
ответ дан 18 December 2019 в 09:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: