Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/40: Рейтинг темы: голосов - 40, средняя оценка - 4.78
11 / 11 / 3
Регистрация: 17.12.2010
Сообщений: 52
1

Преимущество Win Api

04.10.2011, 07:54. Показов 7654. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Буквально вчера создал тему, где задал вопрос о средствах, с помощью которых можно работать некоторым образом в командной строке. Нашлось много ответов, и часть из них сводилась к совету использовать средства Win Api. И, собственно, теперь сам вопрос:
На сколько это перспективно (если можно так сказать), и почему лучше начать работать именно с Win Api, а не, скажем, выучить библиотеку QT и писать на более высоком уровне? Или наоборот, лучше взяться за какую-нибудь среду разработки и изучить все предоставляемые ею возможности? Насколько это вообще "благодарное" дело работать с Win Api, и насколько больше его потенциал? [Надеюсь, что грамотно задал вопрос]

*Очень хотелось бы получить наиболее объективный ответ от людей, которые работали (работают) и с тем, и с тем. Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2011, 07:54
Ответы с готовыми решениями:

WIN API
Доброе время суток. Учусь в институте и дали сделать такую хрень: Реализовать приложения Win32API:...

Потоки win api
Здравствуйте. Такое задание: необходимо написать программу, которая в главном потоке создает...

WIN API, кодировка
Доброго времени суток! Вот если написать: MessageBox(NULL,(LPCWSTR) "Тест",(LPCWSTR)"Системное...

win api точки входа
меня интересуют названия функция получения точки входа файла получения конца файла (feof не...

22
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.10.2011, 17:12 21
Author24 — интернет-сервис помощи студентам
diagon, АПИ есть АПИ. Обертки классовые есть в MFC, ATL, Qt, boost etc. В конечном счете все работает через API системы. Так что не стоит гнать на АПИ. Никто же не заставляет юзать напрямую.
0
Заблокирован
05.10.2011, 17:28 22
Ребята, вы спорите с "разных колоколен". Следует отталкиваться с того что любая ОС API это система взаимодействия между железом и разработчиком ПО. да да, именно так. api помогает избежать изучения сотен различных ассемблеров для прямого обращения к тому или иному МК, МП... для того чтобы api функционровала с железом ей скармливается драйвер. Сами же знаете, что драйвер одной ОС просто не совместим с другой ОС (исключая отдельные случаи возможности использования драйверов в другой ОС, с помощью костылей). Это я все к тому что на нее (api) нельзя смотреть с высоты прикладного программирования.
А теперь о гигантизме. То что виндовс сегодня поддерживает абсолютное большинство производимого железа - это факт, и этот факт есть одна из причин бесспорного доминирования этой ОС на рынке десктопов. Примечательно то, что мелкософт сегодня уже не ставит линух в список опасных конкурентов. Для того чтобы все это железо без проблем запускалось на единой архитектуре ОС и пишутся дополнительные миллионы строк кода. Я думаю что именно сама идея поддержки абсолютного большинства ассемблеров производителей железа и привела в итоге к такому гигантскому набору средств для работы исключительно с ним (железом).
diagon, это по сути я к вам обращаюсь. Попробуйте посмотреть на компьютер не как программист с++, а как инженер разработчик вычислительных модулей (электрических схем, микроконтроллеров, и т.д.) и тогда конечно станет очевидным тот факт, что кроме ассемблеров никак иначе запрограммировать железа нельзя, так же нельзя и использовать его. Для чего и были разработаны компиляторы (конкретно для обращения к ЦП). Вот вы что писать программы на ассемблере глупо... для мощного компьютера да, а для микроконтроллера просто нет иных средств кроме его личного ассемблера. В мире все относительно.
1
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.10.2011, 18:55 23
Цитата Сообщение от ForEveR Посмотреть сообщение
diagon, АПИ есть АПИ. Обертки классовые есть в MFC, ATL, Qt, boost etc. В конечном счете все работает через API системы. Так что не стоит гнать на АПИ. Никто же не заставляет юзать напрямую.
Да я в общем-то догадываюсь, что для их реализации API используется... Но за счет инкапсуляции можно реализовать такую же либу средствами API уже другой платформы.

Цитата Сообщение от alkagolik Посмотреть сообщение
diagon, это по сути я к вам обращаюсь. Попробуйте посмотреть на компьютер не как программист с++, а как инженер разработчик вычислительных модулей (электрических схем, микроконтроллеров, и т.д.) и тогда конечно станет очевидным тот факт, что кроме ассемблеров никак иначе запрограммировать железа нельзя, так же нельзя и использовать его. Для чего и были разработаны компиляторы (конкретно для обращения к ЦП). Вот вы что писать программы на ассемблере глупо... для мощного компьютера да, а для микроконтроллера просто нет иных средств кроме его личного ассемблера. В мире все относительно.
Ну я же повторял пару раз -

Цитата Сообщение от diagon Посмотреть сообщение
Но в специфичных областях(разработка тех же библиотек, например) его приходиться применять. Т.е. его можно рассматривать как инструмент для разработки библиотек / windows-specific приложений. Но не более.
С тем что иногда без него не обойтись я не спорю. Но если есть альтернатива в виде какой-либо готовой либы, той же Qt, то имхо выбирать нужно последнюю.
0
05.10.2011, 18:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2011, 18:55
Помогаю со студенческими работами здесь

API для WIn и Linux
Здравствуйте. Нет ли какой - нибудь библиотеки для комуникации с ОС, получения дискрипторов...

DrawText win api - Мистика =)
Начинал изучать C++ на FreeBSD, собирал мейкфайлы и горя не знал. Полез в винде разбираться с её...

Построение графика в Win Api
Требуется построить график по точкам. Все координаты даны. Не могу найти в пространстве интернета,...

Win Api ошибка undefined reference to
пишу функцию BOOL OnCreate(HWND hwnd,LPCREATESTRUCT) { HDC hdc;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru