![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
jxr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
чистий С++ !!!
Но - WinAPI все портить. было бы хорошо - создали особый API(понятый-стуруктурный). может есть? как в Java и в .NET - но только не меняя идею С++. если что то не так... плиз, я не занимаюсь профессионално С++. Это сообщение отредактировал(а) jxr - 21.5.2006, 23:26 |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 2 Всего: 165 |
А в чём вопрос?
Win32Api создавался не для С++ и даже не для Си а для процедурных языков (и даже Basic). --------------------
|
|||
|
||||
jxr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
я и об этом говорию...
не было бы плохо(супер!)... ...создать API для С++. API - понятый-стуруктурный, типа Java и\или .NET вообще есть такие подходы? или чего то я перепутаю?! помогите разобраться, плиз. PS. В Win32Api заниматься программированием очень сложно. Это сообщение отредактировал(а) jxr - 21.5.2006, 23:49 |
|||
|
||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: нет Всего: 11 |
HINSTANCE - void*
LPSTR - это Си-строка(Может состоять тз Unicode символов!) LPVOID - void* STARTUPINFO - см. документацию -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
jxr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
я не спрашиваю... что эти типы означает!
почему не void* - а HINSTANCE. void* - проще писать и понять. Это сообщение отредактировал(а) jxr - 22.5.2006, 00:14 |
|||
|
||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: нет Всего: 11 |
jxr, потому, что никто тебе не гарантирует, что при выходе новой винды этот тип останется void*
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
maxim1000 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 2 Всего: 110 |
может, писать и понять и проще но проще ли понять правильно? не только HINSTANCE является void* также и HBITMAP, например и совсем неплохо, когда тип (в смысле языка) несёт информацию об объекте (то же ООП можно привести в пример) кроме того, WinAPI совсем необязательно использовать есть куча библиотек (VCL, MFC, ...), позволяющих строить интерфейсы при их использовании можно (за исключением специфических ситуаций) вообще отказаться от функций WinAPI - они его "оборачивают" своими функциями и классами ну, это довольно-таки субъективно всё зависит от задач если нужно что-нибудь сложное, для чего есть компонент в C++Builder'е (например), то, конечно же, проще использовать его, а не чистый WinAPI а если мне надо вывести окошко с сообщением, то
не намного проще (если вообще проще), чем
-------------------- qqq |
||||
|
|||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
реализации меняются, а название типа остается
имхо, так правильно, да и дело привычки ![]() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
jxr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
сколько таких библиотек? (VCL, MFC, ...) и для чего каждый... у меня Dev-C++ компилятор. VCL библиотека бывает вместе с компиляторам или...?(Dev-C++) VCL - если можно книга-справочник...? спосибо. |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Сейчас много оболочек живет типа VCL, MFC, QT, WTL... , но в том то и дело, что они - просто оболочки, да и к тому же нестабильные: почти каждый год они модифицируются и приходится вникать в эти изменения, запоминать переход от одной версии - к другой, а API - это то, вокруг чего все ходят, всем она не не нравится, всем она неудобна, но ведь ни одна оболочка не решит задачи, с которой не справится API. Это надо всегда помнить. К тому же, API, а по сути, ядро, меняется очень и очень мало. Даже если какой-нибудь интерфейс обновился, то API всегда его держит в следующих версиях для того, чтобы не было проблем с совместимостью. Вот даже сегодня существует полный набор функций, работающих с 16-ти битными версиями программ. А кто в последний раз к примеру видел грандиозную надпись на мониторе Windows 95? Но все равно выбор остается за разработчиком, поэтому везде найдутся любители и MFC и WTL и много чего еще. И даже они не считают, что знание API им не нужно.
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
jxr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
VCL - если можно книга-справочник...?
для каждого компилятора особый VCL? VCL - производител = производител компилятора? |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
VCL - это от Борланда и, соответственно, для него. Не знаю, совместима ли с другими компиляторами. MFC и WTL от MS для MSVC, но кажется MFC поддерживается и некоторыми другими.
Сначала определись с компилятором, а потом уже смотри, какие библиотеки для него есть. Если идти от API, то лучше смотри в сторону MFC, а не VCL. Первая "тоньше", меньше и понятнее, хотя вторая, конечно, богаче. Кстати, GremlinProg, не соглашусь с тобой насчет нестабильности, по крайней мере, MFC: за почти 10 лет было всего 2 существенных изменения: при выходе MFC 4 и при выходе VC2003. Да и то, оба раза переход не представлял проблем. Насчет API - согласна. -------------------- ... |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Да, действительно, забыл сказать про MFC. Это пожалуй единственное исключение из правил. За счет того, что MFC была одной из самых первых, её стабильность поражает. Но, к сожалению, поражает она не только стабильностью, но и объёмом информации, в связи с чем MFC уже превратилась в некоторое подобие API, со своими интерфейсами и библиотеками, которые необходимо устанавливать для любого, хоть самого незначительного приложения MFC. Вывод сам напрашивается, лично для меня такой : "Зачем мне 2 апи?". Суть оболочки в том, что она невесома. MFC отню дь не невесома, поэтому к оболочкам я её уже давно не отношу.
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Верно, MFC большая дура. Она ведь не только оборачивает API, а еще и предлагает готовый фрейворк для работы с документами в SDI и MDI стилях, и не самый плохой. А это куча кода, который все равно придется писать для соответствующих приложений. MFC, конечно, еще и OLE-хвосты, и прочую муру по старой памяти тянет, увы... но часть можно отключить макросимволами. Если документ-вью фреймворк не нужен, тогда можно рассмотреть WTL - это сплошные шаблоны, куда уж тоньше. Конечно, насчет стабильности говорить пока рано, ей без году неделя.
Это сообщение отредактировал(а) Earnest - 23.5.2006, 16:52 -------------------- ... |
|||
|
||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: нет Всего: 11 |
Earnest, похоже не будет у нас согласия ![]() 1. WTL - вещь далеко не новая. И MS на нее "забила" еще раньше, чем на MFC 2. WTL - шаблоны?! Ты готов платить за эту билиотеку увеличеным временем компиляции? 3. WTL почти не пользуется спросом на рынке труда. -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
DeadSoul, давай завтра, ты во многом не прав, ис честно )
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Earnest |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Все равно ведь не подеремся ![]()
По моим меркам - достаточно новая (по сравнению с MFC). Может и забила, не знаю. На MFC, конечно, так просто не забьешь, слишком много кода.
Зато производительность выигрывает. И дизайн. И вообще, я люблю шаблоны. А чтобы быстрее компилировалось, аккуратнее нужно быть со связями. А то понавешают хедеров "на всякий случай" на полстраницы... ![]() По сравнению с "настоящим" TMP, это увеличение времени - просто цветочки. А TMP я использую, и да, платить временем компиляции приходится, увы. Но это как наркотик: однажды войдя во вкус, уже не откажешься. Я просто компьютер апгрейжу. Или апгрейдю. ![]() Ну и по-аккуратнее с зависимостями приходится быть - это даже хорошо. Наверное, зато идея красивая. Я, правда, только читала и смотрела код, сама не использую. Но красиво. И опять же, если речь идет о выборе чего-то близкого API - это оно самое. Добавлено @ 09:43
![]() ![]() ![]() Надеюсь, ты уже в порядке ![]() -------------------- ... |
||||||
|
|||||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: нет Всего: 11 |
Знаю ![]() Я пишу за деньги, а не ради удовольствия -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Конечно, на чем писать - определяет работодатель. Но иногда везет, и как писать, во многом решаешь сам... Нельзя использовать WTL - можно использовать идеи, подходы, ... Если бы программирование было только вопросом зарабатывания денег, не было бы, наверное, этого форума. Ил не таким бы он был. Все-таки это еще и любовь... ![]() Побьют нас сейчас модераторы за флейм. -------------------- ... |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Все пучком ) ...даже спорить не пришлось, все сама и написала ) На счет скорости компиляции шаблонов: есть некоторое подобие шаблонам в языке описания аппаратуры VHDL, так там рекурсия на этапе компиляции может "сожрать" до двух гигов оперативы, и это не предел, а полная компиляция проекта, нагроможденного такого рода шаблонами может занимать несколько часов, и это опять же не предел (когда я строил FPU на кристалле, моего гига оперативы не хватило, пришлось отказаться от красивого, шаблонного вида функций). Я это к тому, что майкрософт все сделала очень даже быстро и грамотно, а скорость компиляции - это только цветочки, о ягодках я уже сказал. -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
jxr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
компилятор - должен быть популярен, но только не от Майкрософта. у меня Dev-C++ компилятор. незнай VCL совместима ли ? у borland компилятора нет IDE?! есть? VCL - откуда скачать? borland.com?! |
|||
|
||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: нет Всего: 11 |
Почему такие критерии? -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
jxr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
это неважно...
главное...
|
|||
|
||||
jxr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
Вот, друзья.
Я занимаюсь Java. Мне хочется писать быстрый код тоже. для этого есть только (самый лучший) С++. Но когда я смотрию стартовый-генерированный код в IDE, мне становиться очень плохо ![]() в спецификациях языка пишут что С++ программа начинается с точки-функции int main(int argc, char *argv[]). но windows приложение... я вижу акрокодабра ![]() И я спрашиваю... 1. Могу ли писать Windows-программы в С++ по определению - точка вызова int main(int argc, char *argv[])? ну как в Java... создать объекты классов и так далее... ну освобождаться от Win32API. 2. если да, что должен делать? какой комплятор и IDE выбирать? какую API-библиотеку(VCL) использоват? Помогите мне определиться. PS. Мне кажеться что научиться быстро писать в Win32API(С++) труднее - чем в Assemler. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 1 Всего: 92 |
Используй Qt. Всё-таки с точки зрения хорошего ООП по-моему - лучшее решение. И точка входа - твоя любимая
![]() ![]()
VCL - это конкретная библа от борланда, работает только с борландом. Компилер и IDE - любые, лиж бы тебе нравились, к стандарту поближе были и кутеха поддерживала. Лично мне нравятся: Из компилеров: 1. DigitalMars C++ (DigitalMars.com) - FreeWare 2. VC++ Из IDE 1. (о! не судите меня) VS 2005, с ней работает VC++ (как ни странно ![]() 2. Code::Blocks - ну типа фриварная. |
|||
|
||||
jxr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
спосибо.
![]() у меня Dev-C++ IDE, комплятор него (GNU) gcc,... Qt - это многоплатформенный продукт. нашел 2-х. какой выбрать? qt-win-opensource-src-4.1.3.zip qt-win-opensource-4.1.3-mingw.exe Это сообщение отредактировал(а) jxr - 28.5.2006, 01:36 |
|||
|
||||
rsm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 999 Регистрация: 16.3.2005 Репутация: 4 Всего: 62 |
qt-win-opensource-src-4.1.3.zip - чистые исходники, которые еще нужно самостоятельно компилить; qt-win-opensource-4.1.3-mingw.exe - уже частично скомпилированные (в статические либы) исходники, заточенные под MinGW; Это сообщение отредактировал(а) rsm - 28.5.2006, 08:07 |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 1 Всего: 92 |
Если у тебя уже есть компилер, качай одни исходники (первое).
ЗЫ. глянь в ПМ |
|||
|
||||
jxr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
спосибо.
скачаль qt-win-opensource-src-4.1.3.zip не могу установит(комплировать). поможете? утилит - configure.exe что такое Package?(в С++) //Dev-C++ - там куча компляторов что ли... ...gcc, g++, c++, mingw32-gcc(defualt), mingw32-g++, mingw32-c++.exe |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |