Windows API: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Общие сведения: добавление информации о языке программирования
 
(не показано 8 промежуточных версий 5 участников)
Строка 1: Строка 1:
[[Файл:WinAPI Scheme.svg|мини|275x275пкс|Роль API в операционной системе Windows.]]
'''Windows API''' ({{lang-en|application programming interfaces}}) — общее наименование набора базовых функций [[интерфейс программирования приложений|интерфейсов программирования приложений]] операционных систем семейств ''[[Microsoft Windows]]'' корпорации «[[Майкрософт]]». Предоставляет прямой способ взаимодействия приложений пользователя с операционной системой ''Windows''. Для создания программ, использующих ''Windows API'', корпорация «[[Майкрософт]]» выпускает [[SDK|комплект разработчика программного обеспечения]], который называется ''[[Platform SDK]]'' и содержит документацию, набор [[Библиотека (программирование)|библиотек]], утилит и других инструментальных средств для разработки.
'''Windows [[API]]''' ({{lang-en|application programming interfaces}}) — общее наименование набора базовых функций [[интерфейс программирования приложений|интерфейсов программирования приложений]] операционных систем семейств ''[[Microsoft Windows]]'' корпорации [[Майкрософт]]. Предоставляет прямой способ взаимодействия приложений пользователя с операционной системой ''Windows''. Для создания программ, использующих ''Windows API'', корпорация Майкрософт выпускает [[SDK|комплект разработчика программного обеспечения]], который называется ''[[Platform SDK]]'' и содержит документацию, набор [[Библиотека (программирование)|библиотек]], утилит и других инструментальных средств для разработки.


== Общие сведения ==
== Общие сведения ==
''Windows API'' спроектирован для использования в языке [[Си (язык программирования)|Си]] для написания [[Прикладное программное обеспечение|прикладных программ]], предназначенных для работы под управлением операционной системы MS Windows. Работа через ''Windows API'' — это наиболее близкий к операционной системе способ взаимодействия с ней из прикладных программ. Более низкий [[уровень доступа]], необходимый только для [[драйвер]]ов устройств, в текущих версиях ''Windows'' предоставляется через ''[[Windows Driver Model]]''.
''Windows API'' спроектирован для использования в языке [[Си (язык программирования)|Си]] для написания [[Прикладное программное обеспечение|прикладных программ]], предназначенных для работы под управлением операционной системы MS Windows. Работа через ''Windows API'' — это наиболее близкий к операционной системе способ взаимодействия с ней из прикладных программ. Более [[Низкоуровневый язык программирования|низкий уровень доступа]], необходимый только для [[драйвер]]ов устройств, в текущих версиях ''Windows'' предоставляется через ''[[Windows Driver Model]]''.


Windows API представляет собой множество функций, структур данных и числовых констант, следующих соглашениям языка Си. В то же время [[Соглашение о вызове|конвенция вызова]] функций отличается от ''cdecl'', принятой для языка C: Windows API использует ''stdcall'' (''winapi''). Все языки программирования, способные вызывать такие функции и оперировать такими типами данных в программах, исполняемых в среде Windows, могут пользоваться этим API. В частности, это языки [[C++]], [[C Sharp|C#]], [[Pascal]], [[Visual Basic]] и многие другие.
Windows API представляет собой множество функций, структур данных и числовых констант, следующих соглашениям языка Си. В то же время [[Соглашение о вызове|конвенция вызова]] функций отличается от ''cdecl'', принятой для языка C: Windows API использует ''stdcall'' (''winapi''). Все языки программирования, способные вызывать такие функции и оперировать такими типами данных в программах, исполняемых в среде Windows, могут пользоваться этим API. В частности, это языки [[C++]], [[C Sharp|C#]], [[Pascal]], [[Visual Basic]], [[PureBasic]] и многие другие.


Для облегчения программирования под Windows в компании Microsoft и сторонними разработчиками было предпринято множество попыток создать библиотеки и среды программирования, частично или полностью скрывающие от программиста особенности Windows API и предоставляющие ту или иную часть его возможностей в более удобном виде. В частности, сама Microsoft в разное время предлагала библиотеки [[Active Template Library]] (ATL)/[[Windows Template Library]] (WTL), [[Microsoft Foundation Classes]] (MFC), [[.Net]]/[[WinForms]]/[[Windows Presentation Foundation|WPF]], TXLib. Компания Borland (ныне Embarcadero, её преемник в части средств разработки) предлагала [[Object Windows Library|OWL]] и [[Visual Component Library|VCL]]. Есть кросс-платформенные библиотеки, такие как [[Qt]], [[Tk]] и многие другие. Весомая часть этих библиотек сконцентрирована на облегчении программирования [[Графический интерфейс пользователя|графического интерфейса пользователя]].
Для облегчения программирования под Windows в компании Microsoft и сторонними разработчиками было предпринято множество попыток создать библиотеки и среды программирования, частично или полностью скрывающие от программиста особенности Windows API и предоставляющие ту или иную часть его возможностей в более удобном виде. В частности, сама Microsoft в разное время предлагала библиотеки [[Active Template Library]] (ATL)/[[Windows Template Library]] (WTL), [[Microsoft Foundation Classes]] (MFC), [[.Net]]/[[WinForms]]/[[Windows Presentation Foundation|WPF]], TXLib. Компания Borland (ныне Embarcadero, её преемник в части средств разработки) предлагала [[Object Windows Library|OWL]] и [[Visual Component Library|VCL]]. Есть кросс-платформенные библиотеки, такие как [[Qt]], [[Tk]] и многие другие. Весомая часть этих библиотек сконцентрирована на облегчении программирования [[Графический интерфейс пользователя|графического интерфейса пользователя]].
Строка 17: Строка 18:


== См. также ==
== См. также ==
* [[Linux kernel API]]
* ''[[.NET Framework]]''.
* ''[[.NET Framework]]''.
* [[Windows Runtime]].
* [[Wine]] — свободная кроссплатформенная реализация Windows API.
* [[Wine]] — свободная кроссплатформенная реализация Windows API.
* [[ReactOS]] — свободная реализация операционной системы Windows.



== Примечания ==
== Примечания ==
Строка 29: Строка 34:
|оригинал = Windows NT/2000 Native API Reference
|оригинал = Windows NT/2000 Native API Reference
|ссылка =
|ссылка =
|место = М.
|место = М.
|издательство = [[Вильямс (издательство)|«Вильямс»]]
|издательство = [[Вильямс (издательство)|«Вильямс»]]
|год = 2002
|год = 2002

Текущая версия от 17:17, 15 июня 2024

Роль API в операционной системе Windows.

Windows API (англ. application programming interfaces) — общее наименование набора базовых функций интерфейсов программирования приложений операционных систем семейств Microsoft Windows корпорации Майкрософт. Предоставляет прямой способ взаимодействия приложений пользователя с операционной системой Windows. Для создания программ, использующих Windows API, корпорация Майкрософт выпускает комплект разработчика программного обеспечения, который называется Platform SDK и содержит документацию, набор библиотек, утилит и других инструментальных средств для разработки.

Общие сведения

[править | править код]

Windows API спроектирован для использования в языке Си для написания прикладных программ, предназначенных для работы под управлением операционной системы MS Windows. Работа через Windows API — это наиболее близкий к операционной системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через Windows Driver Model.

Windows API представляет собой множество функций, структур данных и числовых констант, следующих соглашениям языка Си. В то же время конвенция вызова функций отличается от cdecl, принятой для языка C: Windows API использует stdcall (winapi). Все языки программирования, способные вызывать такие функции и оперировать такими типами данных в программах, исполняемых в среде Windows, могут пользоваться этим API. В частности, это языки C++, C#, Pascal, Visual Basic, PureBasic и многие другие.

Для облегчения программирования под Windows в компании Microsoft и сторонними разработчиками было предпринято множество попыток создать библиотеки и среды программирования, частично или полностью скрывающие от программиста особенности Windows API и предоставляющие ту или иную часть его возможностей в более удобном виде. В частности, сама Microsoft в разное время предлагала библиотеки Active Template Library (ATL)/Windows Template Library (WTL), Microsoft Foundation Classes (MFC), .Net/WinForms/WPF, TXLib. Компания Borland (ныне Embarcadero, её преемник в части средств разработки) предлагала OWL и VCL. Есть кросс-платформенные библиотеки, такие как Qt, Tk и многие другие. Весомая часть этих библиотек сконцентрирована на облегчении программирования графического интерфейса пользователя.

Для облегчения переноса на другие платформы программ, написанных с опорой на Windows API, сделана библиотека Wine.

  • Win16 — первая версия WinAPI для 16-разрядных версий Windows. Изначально назывался Windows API, позднее был ретроспективно переименован в Win16 для отличия от Win32. Описан в стандарте ECMA-234.
  • Win32 — 32-разрядный API для современных версий Windows. Самая популярная ныне версия. Базовые функции реализованы в динамически подключаемых библиотеках kernel32.dll и advapi32.dll; базовые модули графического интерфейса пользователя — в user32.dll и gdi32.dll. Win32 появился вместе с Windows NT и затем был перенесён в несколько ограниченном виде в системы серии Windows 9x. В современных версиях Windows, происходящих от Windows NT, работу Win32 GUI обеспечивают два модуля: csrss.exe (процесс исполнения клиент-сервер), работающий в пользовательском режиме, и win32k.sys в режиме ядра. Работу же системы обеспечивает ядро — ntoskrnl.exe.
  • Win32s — подмножество Win32, устанавливаемое на семейство 16-разрядных систем Windows 3.x и реализующее ограниченный набор функций Win32 для этих систем.
  • Win64 — 64-разрядная версия Win32, содержащая дополнительные функции Windows на платформах x86-64 и IA-64.


Примечания

[править | править код]

Литература

[править | править код]
  • Гэри Неббет. Справочник по базовым функциям API Windows NT/2000 = Windows NT/2000 Native API Reference. — М.: «Вильямс», 2002. — С. 528. — ISBN 1-57870-199-6.