Про программирование GUI под Win32

Apr 14, 2010 16:25

Вы можете представить себе приложение с GUI под Windows, в котором не используется никаких
дотнетов, МFC, Swing-ов и даже (G)Tk - чистый родной Win32 API с windproc, dlgproc и явным вызовом DispatchMessage, и при этом стоит (с) 2010 года?

Если не можете, то идите на stunnel.org качайте исходники, читайте файл gui.c и плачьте.

компьютерное

Leave a comment

Re: 1998 vitus_wagner April 14 2010, 13:08:10 UTC
Ну, во-первых, нифига. Даже visual studio начала только с 2005 года "отлично понимать" C++. Даже 2003 визуалка его только со специальными неумолчательным ключиками понимала. Во вторых, если нам пофиг на то что будет внутри экзешника и на количество DLL в зависимостях, то почему бы 20 меговый дотнет не использовать ради пары диалоговых окон?
Плюсовая стандартная библиотека даже версии 7.1 в дистрибутив XP не входит. Соответственно, если мы хотим чтобы лишних DLL-ек не было, собираться надо либо mingw32, либо шестой визуалкой. Я, конечно, предпочитаю mingw32, это избавляет от необходимости под виндой собираться.

Во-вторых, у плюсов ABI до сих пор у разных компиляторов разный. В том числе у разных версий одного и того же продукта.

В третьих, не верю в полезный екзешник на плюсовых темплейтах размером меньше 100кб.

Reply

Re: 1998 blueher April 14 2010, 13:21:14 UTC
> Ну, во-первых, нифига. Даже visual studio начала только с 2005 года "отлично понимать" C ( ... )

Reply

Re: 1998 mpd April 16 2010, 22:20:26 UTC
Даже на шестой студии (для гиков: она позволяла создать массив автопоинтеров) можно было разрабатывать с применением WTL.

Там действительно на деле зависимостей нет, только Win32. А вообще можно ли сейчас представить винду без длл плюсового рантайма? По-моему, бред!

Reply

Re: 1998 vitus_wagner April 17 2010, 05:26:10 UTC
У шестой студии неправильная (не соответствующая стандарту) область видимости переменной цикла, объявленной непосредственно внутри for. Нафиг такой C++.

Reply

Re: Нафиг такой C++. mpd April 17 2010, 12:25:11 UTC
Про штучки шестой - я тоже написал (про автопоинтеры в векторах - это намного круче, чем внескоуповый счетчик циклов, поверьте).

А вас я - не понимаю, WTL и студия не зависят друг от друга, а в последних мелко-мягких студиях Си++ настолько же близок к стандарту, как какой-нибудь GCC, у всех у них есть незначительные отклонения.

Или вы думаете, что если я сейчас 2010-ой бетой соберу мой WTL-проект, то он будет от чего-то там зависеть, как вы пишите "дотнетов, МFC, Swing-ов и даже (G)Tk"?
У экзешника зависимости будут только от Win32 и Си/Си++ Runtime.

Или вы уже пробовали под последней студией и у вас ATL (на котором основан WTL) потянул MFC или .Net?
Или вы собрали проект c Managed C++ (/CLR) - поддержка которого появилась только в WTL 7.1?

Поверьте, я искренне недоумеваю, как в случае с Джоэлем Спольски, т.к. я вас уважаю, я вам верю, как родному, но всё же что-то здесь не так...

Reply

Re: Нафиг такой C++. vitus_wagner April 17 2010, 12:34:24 UTC
Автопойнтеры и вектора - это стандартная библиотека а не язык. Никто не мешает взять нормальную STL, например, STLport, а не входящую в комплект компилятора. А вот область видимости переменной цикла - это именно компилятор.

И вообще мне нужна библиотека, которую я смогу использовать с GCC-шным кросс-компилятором, работающим в среде Linux. Потому что я могу преодолеть свое отвращение к винде ради того, чтобы протестировать написанную программу, но писать и компилировать предпочитаю в более удобном пользовательском интерфейсе.

Reply

Re: нужна библиотека, которую я смогу использовать с GCC-ш mpd April 17 2010, 20:52:04 UTC
Чтобы закрыть тему зависимостей WTL-приложений, я создал у себя пост.

С языком и библиотеками - правда ваша.
Но, ещё раз, современные компиляторы у мелко-мягких - очень даже ничего в плане поддержки текущего и будущих стандартов Си++ на мой взгляд (об обсуждаемых особенностях 6ки можно забыть навсегда), а WTL не привязана к конкретному компилятору от Microsoft.
Вообще, я напоролся даже на вот такое давнишнее обсуждение в рассылке GCC. Т.е. кросс-компиляция - хорошо, но может и без неё кто-то обходится, создавая сразу под линухом виндовое нативное, не знаю...

"Ну, помогай вам Бог!"

Reply


Leave a comment

Up