Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что такое WinAPI? 
:(
    Опции темы
 
Что такое WinAPI?
Произведения искусства [ 12 ]  [28.57%]
Кладезь отстоя [ 24 ]  [57.14%]
Свой вариант (опишу в теме) [ 6 ]  [14.29%]
Всего проголосовавших: 42
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
Rohoss
  Дата 17.5.2010, 04:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Вот всегда интересовало мнение на этот счёт  smile 


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
KelTron
Дата 17.5.2010, 04:46 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: нет
Всего: 38



Это суровая необходимость..)


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Alexeis
Дата 17.5.2010, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Rohoss, учитывая время создания - начало 90х годов. Времена, когда язык С был еще весьма популярен, то это весьма приличный набор библиотек. По тем временам оно было весьма продуманно и удобно. На текущий момент такого уже не скажешь, но сейчас Microsoft уже и не предлагает его использовать. Написали свой .NET framework , который закрывает во многом типичные нужды. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
GoldFinch
Дата 17.5.2010, 13:35 (ссылка) |  (голосов:6) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



WinAPI это внешний интерфейс ядра ОС. Ядро нативное. Интерфейс должен быть совместим с любыми языками, не только С.
Этому интерфейсу много лет, и его последняя версия он полностью обратно совместима с устаревшим софтом.

Мне сложно придумать как можно было бы сделать winapi лучше.
PM MAIL ICQ   Вверх
Alexeis
Дата 17.5.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



GoldFinch, компиляторы пишут под платформы, а не платформы под компиляторы. Так что неправ. Возьмем язык шейдеров, что винда тоже должна обеспечивать совместимый интерфейс? 
  Или же возьмем COM объекты шела. Что они делались для совместимости с языком С? 

  Для ОС важно соблюсти или утвердить некий бинарный стандарт, который должны поддерживать компиляторы. Первоначально расчет был на совместимость на уровне машинных кодов i386, для того чтобы расширить круг имеющихся компиляторов и облегчить адаптацию. После они дополнили бинарным стандартом COM/ActiveX и он стал похожим на объектный, далее расширили до .NET и представили полноценный объектный бинарный стандарт на уровне CLR. 
  
Цитата(GoldFinch @  17.5.2010,  12:35 Найти цитируемый пост)
Мне сложно придумать как можно было бы сделать winapi лучше. 

  Если говорить о части user api, то на сегодняшний день .NET заметно удобнее. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
MAKCim
Дата 17.5.2010, 14:48 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата(GoldFinch @  17.5.2010,  13:35 Найти цитируемый пост)
Мне сложно придумать как можно было бы сделать winapi лучше. 

посмотреть на unix-api ;)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Exception
Дата 17.5.2010, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 2
Всего: 186



Ящик Пандоры.
PM   Вверх
Alexeis
Дата 17.5.2010, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(MAKCim @  17.5.2010,  13:48 Найти цитируемый пост)
посмотреть на unix-api ;) 

  Не поможет smile . Нужно заменять всю базу.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
GoldFinch
Дата 17.5.2010, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



Alexeis, не надо путать winAPI, COM, и .NET
WinAPI - это Windows API - программный интерфейс Windows для приложений.
COM - это набор соглашений о взаимодействии компонентов вообще, без какой либо привязки к ОС. 
.NET - это платформа для выполнения MSIL, без какой либо привязки к ОС. 

Компоненты COM отвечающие за взаимодействие с ОС, работают через WinAPI.
Та часть .NET которая отвечает за взаимодействие с ОС, работает через WinAPI.
По сути системные компоненты COM и .NET это не более чем обычные нативные приложения, ни чем не отличающиеся от любых других приложений.
Точно также можно сказать о платформе питона в windows. Это такая же платформа, что и .NET.


==================

Почему в винде куча языков - ассемблеры, Си, дельфи,
а в никсах только Си?

Потому что в винде АПИ ОС развернуто лицом к разработчику языка, а не только к Си, как в никсах.

Добавлено через 2 минуты и 35 секунд
Алсо у меня есть впечатление, что WinAPI ругают те кто не умеет его использовать, и не понимают как оно работает.

Добавлено через 4 минуты и 44 секунды
Но все же, как сделать winapi лучше, сохранив весь legacy код?
PM MAIL ICQ   Вверх
Exception
Дата 17.5.2010, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 2
Всего: 186



Цитата(GoldFinch @  17.5.2010,  16:47 Найти цитируемый пост)
Почему в винде куча языков - ассемблеры, Си, дельфи,
а в никсах только Си?


Интересная информация какая.


Цитата(GoldFinch @  17.5.2010,  16:47 Найти цитируемый пост)
Но все же, как сделать winapi лучше, сохранив весь legacy код? 


Зачем его делать лучше?
PM   Вверх
djamshud
Дата 17.5.2010, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 1
Всего: 39



WinAPI ругают те, кто сталкивался с ее ужасающим программным интерфейсом (чем она по сути и является) и при этом видел хорошо ораганизованные системные библиотеки.

>Почему в винде куча языков - ассемблеры, Си, дельфи,
>а в никсах только Си?
>Потому что в винде АПИ ОС развернуто лицом к разработчику языка, а не только к Си, как в никсах.

Когда чего-то не знаешь, принято молчать или интересоваться, а не морозить глупость. Я так считаю.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
GoldFinch
Дата 17.5.2010, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



Цитата(djamshud @  17.5.2010,  16:55 Найти цитируемый пост)
WinAPI ругают те, кто сталкивался с ее ужасающим программным интерфейсом (чем она по сути и является) и при этом видел хорошо ораганизованные системные библиотеки.

Ты путаешь обертку к АПИ ОС, и АПИ ОС.

возьмем например fopen.
оно работает с огромной структурой которая дублирует структуру в ядре ОС,
оно получает флаги парсингом строки о_О
оно не умеет и половины того что умеет CreateFile

PM MAIL ICQ   Вверх
djamshud
Дата 17.5.2010, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 1
Всего: 39



GoldFinch, сравни винапишный CreateFile и юниксовый системный вызов open. Почувствуй разницу так сказать. А ведь CreateFile еще далеко не лидер по количеству бездарных параметров.

http://www.opennet.ru/man.shtml?topic=open&category=2

Это сообщение отредактировал(а) djamshud - 17.5.2010, 16:45


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
GoldFinch
Дата 17.5.2010, 18:15 (ссылка) |    (голосов:6) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



djamshud, WinAPI - это АПИ ОС. Оно максимально отражает сущности в ОС и обеспечивает управление ими.

Почему CreateFile - называется "Create" а не open?
Потому что в ядре ОС есть объект "файл". CreateFile создает этот объект. При этом при создании этого объекта надо обеспечить возможность указать все необходимые параметры создаваемого объекта.

Почему в никсах open есть перегрузки, а у CreateFile нет? Потому что никсы заточены под на Си, и там можно юзать манглинг Си. А WinApi рассчитано на любые языки, по этому там не может быть использован манглинг, а значит там не может быть перегрузок.
PM MAIL ICQ   Вверх
Rohoss
Дата 17.5.2010, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Цитата(MAKCim @  17.5.2010,  14:48 Найти цитируемый пост)
посмотреть на unix-api ;) 

А слабо привести пример? Где именно они лучше, и чем?

Добавлено через 2 минуты и 43 секунды
Миня лично бесят оконные процедуры... Как по мне, весь их функционал должен быть реализован в других функциях... При чем тут вообще окно? smile 


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0612 ]   [ Использовано запросов: 24 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.