Taurus727
|
|
« : 17-05-2007 10:21 » |
|
Вот в голове образовалась путаница. WinAPI (насколько понимаю Windows Application Programming Interface) и MFC (Microsoft Foundation Classes). Кто мне может разграничить четко в голове эти 2 понятия. Вот в моей предыдущей теме например Pouring рисовалка с применением чего написана? Или я совсем запутался?
|
|
|
Записан
|
|
|
|
nikedeforest
|
|
« Ответ #1 : 17-05-2007 10:31 » |
|
На чистом АПИ она написана. МФЦ - это надстройка/обертка над АПИ. Если быть точнее, то АПИ - это набор методов ОС с помощью, которых программист получает доступ к функциональным возможностям данной ОС. По сути, АПИ - это набор функции (такой немалый список), с помощью которых ты можешь создать окно для своего приложения, узнать, какие файлы и дирректории наполняют твой диск и т.п. МФЦ же использует данные АПИ функции, но представляет все это ввиде набора классов. Т.е. есть например класс окна, в котором представлены функции связанные с окном и т.п. По сути это попытка классификации всего списка функций АПИ. Напоследок уточню. Сначала был АПИ (он и сейчас естественно есть), потом появился МФЦ (дабы облегчить жизнь программисту).
|
|
« Последнее редактирование: 17-05-2007 10:32 от nikedeforest »
|
Записан
|
ещё один вопрос ...
|
|
|
Taurus727
|
|
« Ответ #2 : 17-05-2007 10:39 » |
|
То есть если грубо Апи это более эээ "низкоуровневое" программирование нежели Мфц? То есть на Апи мне нужно самому создавать допустим класс окна и методы для работы с ним, а в МФЦ это уже есть. А для использования классов Мфц достаточно в новом проекте поставить галку напротив мфц и эти классы станут доступны? И еще вопрос МСДН содержит описание классов МФЦ?
|
|
|
Записан
|
|
|
|
nikedeforest
|
|
« Ответ #3 : 17-05-2007 10:49 » |
|
МСДН содержит описание классов МФЦ. Галки вполне хватит, сразу же увидишь, сколько нового появится в твоем проекте, глаза разбегутся на раз. По поводу низкого уровня. Тут сложно так радикально сказать да или нет. На АПИ ты создаешь окно посредством вызова функций (АПИ-функций). На МФЦ ты создаешь окно путем создания объекта класса окна и вызова необходимых методов данного класса. Появление МФЦ вызвано тем, что парадигма объектно-ориентированного программирования получила всеобщее признание и оказалась наиболее предпочтительна при разработке приложений. МФЦ - это становление на рельсы ООП, потому как программмирвоание на АПИ было скорее структурным и для перехода на ООП тебе самомму придется создавать классы всяких контролов и окон.
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #4 : 17-05-2007 21:25 » |
|
Taurus727, в правилах стоит рекомендация - прежде чем задавать вопрос, воспользоваться поиском. Наверное не зря. https://forum.shelek.ru/index.php/topic,6471.msg103993.html#msg103993К скзанному nikedeforest хочу добавить, что на сегодняшний день WinAPI практически единственное средство программирования под виндой. Это именно те ф-ции и структуры, которые используются самой виндой. Всё остальное - это просто оболочки, позовляющие отойти от чисто функционального программирования.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
nikedeforest
|
|
« Ответ #5 : 17-05-2007 22:07 » |
|
Понеслось ...
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
|
Scorp__)
Молодой специалист
Offline
Пол:
|
|
« Ответ #7 : 18-05-2007 07:47 » |
|
А мне предупреждения не сделали :Р
Джон, про функции АПИ неточность. Эти функции тоже интерфейс и сама винда их не использует, она пользуется "родным" (native) API, это функции c префиксами Nt, Ke, Zw, недоступные прикладному программисту. WinApi - это клиентский интерфейс винды. Однако все остальное на сегодня - действительно лишь обертки этого интерфейса.
уже сделали )
|
|
« Последнее редактирование: 18-05-2007 08:53 от Алексей1153++ »
|
Записан
|
- А Вы сами-то верите в привидения? - Конечно, нет, - ответил лектор и медленно растаял в воздухе.
|
|
|
Taurus727
|
|
« Ответ #8 : 18-05-2007 09:59 » |
|
Вот куда смотрят авторы, да и те кто размещает книги по МFC. С сайта realcoding.net сейчас одну слил. Первый пример. Расписан каждый файл, что куда написать. Пишу(copy/paste). 59! Синтаксических ошибок. Ну чего это за "Hello world" такой??? Буим дальше искать. Или плюнуть и разориться на бумажный вариант.
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #9 : 18-05-2007 10:12 » |
|
Понеслось ...
Это ты к чему? Джон, nikedeforest, Scorp__) спорьте не тут Лёш, не мог бы ты конкретно показать к чему ЭТО относится? Где ты видишь спор? Или как только кто-то видит пару Джон-nikedeforest в теме это автоматически означает спор? Какие все нервные и напряжённые стали. Scorp__), согласен. В принципе я это имел ввиду. Точнее, что это те ф-ции, которые экспортируются в основных библиотеках винды user32 kernel comdlg comctl. Те все остальные оболочки используют эти ф-ции. Кончено разработка, например, драйверов происходит на другом уровне. Но вопрос поднят про MFC.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #10 : 18-05-2007 10:15 » |
|
Taurus727, думаешь в бумажном варианте лучше будет. Часто происходит так, что текст книги подвергается обычной вёрстке, которую делают дизайнеры. Их цель чтобы всё помещалось на страничку. А на первом этапе - наборщики (наборщицы), для которых код - что-то вроде китайских иероглифов. Которые надо старательно "пререрисовать". ЛУчше всего (и то не факт) - это когда к книге прилагается диск с кодом и примерами. Тогда шансы на успешную компиляцию значительно возрастают.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #11 : 18-05-2007 10:20 » |
|
Джон, могу показать, только темы не найду уже те ) Спор будет позже, чё я не знаю что ли )
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #12 : 18-05-2007 10:30 » |
|
Лёшик, это первые признаки паранои. Врачи рекомендуют в таких случаях бокал холодного пивка. Ну или в крайнем случае внимательное чтение топиков должно помочь. Если ты заметил, то nikedeforest абсолютно правильно дал определение MFC и API, а Scorp__) абсолютно правильно меня поправил. Так о чём тут можно спорить? И причём тут другие темы? Или ты думаешь, что спор это паталогия? Если мы с nikedeforest и Scorp__) по некоторым вопросам имеем разное мнение, так теперь уже готовы по любому вопросу спорить? Лишь бы спорить? Гхм... Ню-ню
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
Taurus727
|
|
« Ответ #13 : 18-05-2007 10:35 » |
|
Так о чем это мы...
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #14 : 18-05-2007 10:36 » |
|
Джон, если на то пошлО, паранойя не у мну, а у того, кто сказал началось ) Пардон "Понеслось ..."
|
|
|
Записан
|
|
|
|
nikedeforest
|
|
« Ответ #15 : 18-05-2007 11:02 » |
|
Я спор не думал начинать, просто таким образом я выразил негативное отношение к столь категоричному высказыванию со стороны Джона. Не хотелось бы, чтобы на мнение начинающих влияло чужое субъективное мнение. Но оно уже повлияло, человек книгу даже качнул, так что и разговора нет . Алексей, не беспокойся ты так, надо ж хоть немного растрясти этот форум, а то скоро плесенью покроется. з.ы. предлагаю завтра этот флуд покоцать относительно споров и т.п.
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
Taurus727
|
|
« Ответ #16 : 18-05-2007 11:09 » |
|
Без легкого флуда форум(уж тем более программерский) будет жутко сухой и скучный... Ну информативность конечно повысится... Но захочется ли жить в лабораторных условиях?
|
|
|
Записан
|
|
|
|
nikedeforest
|
|
« Ответ #17 : 18-05-2007 11:12 » |
|
эх, зашел бы ты к нам год назад. Тут столько флуда было ... . А потом пресекли и стало все как у аристократов чинно и скучно.
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
|