Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
129 / 65 / 16
Регистрация: 03.09.2015
Сообщений: 832

Winapi в общем

12.09.2017, 10:44. Показов 1346. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Судя по количеству решенных здесь тем, напрашивается вывод, что не большое количество людей занимаются winapi на высоком уровне. Вопрос: почему? Ведь в c++ нет совершенно всех решений, заменяющих api? Или это уже уровень программирования ближе к нижнему?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.09.2017, 10:44
Ответы с готовыми решениями:

О java EE в общем
Всем привет. Начал изучать платформу EE, и сразу возник вопрос. Википедия нам говорит, что Java EE - "набор спецификаций и...

Решить в общем виде
Возможно ли решить в общем виде или как то еще. х1 х2 х3 не могут быть меньше 10 х1+х2+х3=у1; 2*х1=у2; 3*х2=у2; 5*х3=у2; у2>у1

Литература по Access и БД в общем
Посоветуйте хорошую литературу по бд и работой с ними в Access, тоесть книга нужна не чисто по MS Access, а чтобы была теория в общем, а...

5
25 / 28 / 4
Регистрация: 30.08.2017
Сообщений: 61
12.09.2017, 10:55
Потому что на высоком уровне мало где нужен WinAPI. Потому что писать на нем долго и муторно, когда дело касается даже элементарных вещей вроде диалгов из ресурсов и пары обработчиков на них.
Цитата Сообщение от ziqp Посмотреть сообщение
Ведь в c++ нет совершенно всех решений, заменяющих api?
А WinAPI уже стал кроссплатформенным? Если нет, то зачем его брать для высокого уровня, когда есть портируемые вещи?
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
12.09.2017, 12:38
Цитата Сообщение от ziqp Посмотреть сообщение
не большое количество людей занимаются winapi на высоком уровне.
А что такое "высокий уровень"?

Цитата Сообщение от ziqp Посмотреть сообщение
почему?
Потому что для них это удобнее, быстрее и эффективнее.
А тащить какие-то библиотеки (имеющие тенденцию жиреть и становиться монструозными
неповоротливыми жабами) ради двух-трех простых вещей - это явный перебор.
0
129 / 65 / 16
Регистрация: 03.09.2015
Сообщений: 832
12.09.2017, 17:05  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
А что такое "высокий уровень"?
чисто для меня высокий уровень: когда ты идеально ориентируешься в вопросах касательно твоей направленности. Если делаешь ошибки, то знаешь как их исправить.
Например, в сфере реверсинга, я считаю высоким уровнем умение писать эксплойты под уязвимости, найденные самим тобой через отладчик
Цитата Сообщение от Убежденный Посмотреть сообщение
Потому что для них это удобнее, быстрее и эффективнее.
Быстрее winapi или другие библиотеки?
Но есть ведь c++ + winapi варианты, где через c++ ты можешь добиться такого же результата только через ассемблер, например, работа с окнами (обработка всяких hwnd, манипуляция ими через системные сообщения и т. д.)
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
12.09.2017, 18:32
Лучший ответ Сообщение было отмечено ziqp как решение

Решение

Цитата Сообщение от ziqp Посмотреть сообщение
Быстрее winapi или другие библиотеки?
Быстрее обычно то, что ты лучше знаешь и в чем уже хорошо освоился.
Для некоторых Win32 API - именно такая, хорошо знакомая и привычная среда.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
12.09.2017, 20:17
Лучший ответ Сообщение было отмечено ziqp как решение

Решение

Само по себе WinAPI это низкий уровень. Оно общается с системой "на ее языке", что дает высокую скорость работы низкоуровневого приложения и небольшой размер файла. Однако оно сильно привязано к конкретной реализации (платформозависимо). Из-за этого код, использующий чистое WinAPI довольно громоздкий и изобилует неочевидной (для непосвященного) работой с теми же HWND. Кроме того, большая часть задач, решаемых этим кодом, стандартна. Поэтому ее заворачивают в более высокоуровневые библиотеки, избавляющие программиста от повторения одного и того же кода для похожих действий. Если такая библиотека написана хорошо, она полностью скрывает детали взаимодействия с системой. Тогда при изменении API (хотя бы устаревании каких-то функций или наоборот, поддержка более старых платформ, а иногда и переход на альтернативную) достаточно изменить только библиотеку, не трогая кода основной программы.
TLDR, преимущества использования библиотеки высокого уровня перед WinAPI (да и любым другим низким уровнем):
- упрощение исходного кода
- улучшение переносимости и совместимости
Недостатки:
- сложность использования специфичных особенностей
- меньшее быстродействие
- больший объем исполняемого файла
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.09.2017, 20:17
Помогаю со студенческими работами здесь

в общем купил гитару
обычную классическую с маталлическими струнами есть пару вопросов вообщем начал учить в домашних условиях аккорды ну и начали болеть...

Примеры в общем виде
Добрый день Подскажите что значит, когда описывают какие-то функции как-бы в общем виде, например тут: ...

Сборка в общем + оперативка
Здравствуйте, с горем пополам собрал комп для игр, без SLI, без разгона, старался уложиться в 65000(с доставкой) , для примера у нас...

В общем засел вирус
Предварительно занесенный с помощью программы torrent search (неизвестно как появившейся на компьютере) и что самое примечательное что...

Решить уравнение в общем виде
уравнение arcsinx=n*arcsin(k*x) задачка не из учебников надо решить вышеуказанное уравнение в общем виде либо хотя бы для...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru