Итак, я огляделся в течение нескольких дней, и ресурсы кажутся довольно скудными... Я понимаю, что для этого быстрее использовать специальный язык (например, С++), но мне все еще любопытно, где я мог бы научиться делать это только с C.
Этот урок показался многообещающим, но я подумал, что наверняка должно быть что-то еще ... кто-нибудь знает какой-нибудь?
C++ не является dedicated
языком для этого. Еще быстрее вы напишете GUI на C# (например, используя формы Winows).
Да, ты можешь сделать это. На самом деле, используя Visual Studio (почти любую разновидность), если вы выберете новый проект, затем выберите Visual C++ (не позволяйте имени обмануть вас), а затем Win32, вам будут предложены два варианта: консольное приложение Win32, и проект Win32. Последний из них будет в основном скелетом для того, что вы, кажется, спрашиваете. Поначалу это может показаться немного странным, и я настоятельно рекомендую приобрести пятое издание (или более раннее) книги Петцольда «Программирование Windows», которая в свое время была де-факто ссылкой на миллионы многообещающих Windows. авторы приложений.
@pmg это была первоначальная мысль, но я только что открыл для себя GTK, так что посмотрим, что из этого выйдет.
@WhozCraig круто, звучит хорошо, обязательно посмотрю
Да, вы должны использовать GTK
Возможно.
Конечно, вам понадобятся заголовки платформы, такие как <windows.h>
, но это заголовки C.
Но это не очень хорошая идея, даже в качестве учебного упражнения.
C слишком низкоуровневый язык для настольных приложений. Драйверы Windows обычно пишутся на языке C, как и консольные приложения, но объекты графического интерфейса лучше использовать с объектно-ориентированным языком, который может обеспечить объектно-ориентированный интерфейс для объектов Windows.
Хорошо, я полагаю, это имеет смысл ... но почему это не хорошее учебное упражнение?
Да, я могу только усилить это. Я бы использовал только язык OO и IDE с конструктором форм.
@ Кай .. потому что это очень быстро сведет тебя с ума :)
Обычный старый Си? Нет библиотек? Просто
<stdio.h>
и другие заголовки, определенные Стандартом?