2009-02-20 2 views
2

Добрый день, я нуждаюсь в небольшом руководстве.Программирование Strict C Win GUI

В принципе, я webdev, который знает некоторые C из прошлого, но я разработал несколько простых консольных приложений для * nix.

Вскоре, я хочу, чтобы разработать простую программу Win с графическим интерфейсом и не получить свои руки в любой из следующих технологий:

.NET C# Java C++ (особенно это один)

Поскольку В настоящее время у меня нет времени и необходимости.

1). Могу ли я использовать wxWidgets, не прибегая к cpp (если нет, то какой другой наглядный и легкий инструментарий для виджета вы бы предложили?) 2). Могу ли я использовать OpenCV со строгим C? (без шаблонов, встроенных функций и т. д.) 3). Должен ли я искать другие варианты для компилятора помимо MinGW? Разве Intel стоит исследовать? (AFAIK, он имеет ограничительную лицензию). 4). Что IDE из перечисленного можно предложить для окон/с программирования

  • Dev-C++
  • Eclipse, с помощью соответствующих плагинов (не помню точно один)
  • Любой текстовый редактор + * .bat для компиляции ??

Спасибо!

+0

Вы ограничены технически использовать любой из этих технологий? Если нет, вы теряете возможность развёртываться и изучать новую технологию, которая может помочь вам развить эту «простую программу Win с графическим интерфейсом» за короткое время, чем делать это в сыром C. Пища для размышлений так или иначе. – JMD

+0

Согласовано. Загрузите Visual Studio и попробуйте «Hello World» перед тем, как вы начнете с C. Windows GUI на C определенно нетривиальна. – Ishmael

+0

Нет, я не ограничен технически, но на самом деле, я считаю, что для своих нужд приложение, которое имеет представление списка, в котором оно отображает некоторую информацию об изображении и OpenCV для обнаружения объекта. Изучение новых технологий только для этого положило бы мои другие планы дальше в будущем. Пришло время, когда я ограничена .. – Karolis

ответ

0

Что касается wxWidgets, вы можете использовать https://sourceforge.net/projects/wxc Я никогда в действительности не использовал его, поэтому я не знаю его зрелости.

Mingw и Microsoft Visual C++ - мои любимые компиляторы. Помните, что вы всегда можете использовать строгий C и скомпилировать его с помощью компилятора C++, поскольку действительный C почти всегда является допустимым C++.

Для окон я использовал Dev-C++ в прошлом, но в настоящее время Microsoft Visual C++ кажется лучшим решением.

Если вы собираетесь использовать текстовый редактор + bat, ознакомьтесь с Notepad ++.

EDIT: просто для уточнения, использование Microsoft Visual C++ НЕ означает обучение C++. Вы можете использовать C в нем отлично, потому что - повторяю - действительный C часто является допустимым C++. Не хотите C++? Нет проблем. Просто держитесь подальше от возможностей C++ - и вы все еще в безопасности в компиляторе C++.

EDIT: Роджер Липскомб отметил в комментариях, что чистый C-компилятор доступен в Microsoft Visual C с использованием переключателя/TC.

+0

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

+0

Используйте переключатель/TC для получения компиляции C (в отличие от/TP для C++). –

+0

Спасибо за ссылку wxc, не знал об этом. – Karolis

3

Для программирования Windows CG проще всего использовать VC++ (любая версия с версии 6.0) и The Charles Petzold Программирование Windows книга.

Бесплатная экспресс-версия компилятора Microsoft должна работать нормально - я не уверен, что вам придется загрузить Platform SDK или если он будет с одним.

1

Вы можете писать программы Windows GUI прямолинейно C. Скачайте SDK Windows и посмотрите на образец «GENERIC» (я предполагаю, что он все еще там). Это в значительной степени минимальный код, необходимый для приложения Win32, и он находится в plain-ol 'C.

Редактировать: Хммм, похоже, что он не установлен на этом ноутбуке. Вы можете найти его онлайн here.

3

Если вы заинтересованы в изучении C-программ на основе Windows, напрямую, а не с помощью других промежуточных инструментов:

Там действительно хороший справочник Чарльз Петцольд называется Programming Windows. Это определенно способ начать работу. Абсолютно все кристально ясно, и вам никогда не нужен C++.

API Windows, в целом, предназначен для программистов C. Все причудливые вещи, такие как фактическое окно приложения, передаются как «HANDLE», которые являются более или менее точными указателями на таблицу объектов OS. Вы, как программист, никогда не должны иметь дело с объектами, просто с их РУЧКАМИ.

Кроме того, данная книга хорошо описывает работу Windows event-loop. Если вы не знакомы с ним, это описано в подробных подробностях.

Удачи вам!

1

Возможно, стоит пересмотреть C# .NET. Вы можете легко изучить C# через пару дней и быстро разрабатывать слабые приложения. Прямые библиотеки окон на базе C, в частности Win32, являются BRUTAL в сравнении. Вы потратили бы неделю, чтобы написать простое приложение, которое займет минуты на C#.

1

Единственный инструментарий на базе C, о котором я могу думать, это порт Windows GTK +. Однако у меня нет опыта использования его в среде Windows. Он очень зрелый на стороне Linux, хотя и может быть достаточно хорош, если ваши потребности просты.

Изучение интерфейса Win32 сложно! Но, как утверждают другие, книга Петцольда - это путь, если вы настаиваете на том, чтобы идти по этому пути.

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

Что касается бесплатных IDE, я бы пошел с Visual Studio 2008 Express Edition.

+0

Да, похоже, технологии, которые я хотел бы использовать (прямой способ получить виджеты/элементы управления, которые мне нужны, и библиотеку OpenCV) действительно подталкивают меня к C++. Э, это может занять больше времени, чем я думал изначально. – Karolis

1

Вам ничего не нужно.

Просто используйте C и Win32 API, как настоящие программисты, а не дети ..

Смотрите мастер VS Win32

Смежные вопросы