API je zkratka anglických slov application programming interface, což znamená rozhraní pro programování aplikací. Tento termín používá softwarové inženýrství v programování. Jde o sbírku procedur, funkcí či tříd nějaké knihovny (ale třeba i jiného programu nebo jádra operačního systému), které může využívat programátor, který knihovnu využívá. API určuje, jakým způsobem se funkce knihovny mají volat ze zdrojového kódu programu; rozhraní knihovny, které se využívá po přeložení programu do binární podoby a během jeho běhu, se nazývá ABI.
Důležitá jsou například grafická API jako OpenGL a DirectX, která jsou standardizována, a programátor je může v programu využít. Způsob jejich vykonání pak záleží na konkrétním počítači, na výkonosti grafické karty, případně může být vykreslování kompletně softwarově emulováno nějakou programovou knihovnou (např. Mesa).
API funkce jsou programové celky, které programátor volá místo vlastního naprogramování.
Ve Windows je několik desítek knihoven, které na zavolání funkce API vykonají. (kernel32.dll, user32.dll, imagehlp.dll, …) Jsou to celky, na které je možné v různých programech, tzv. „debuggerech“, nastavovat breakpointy (zarážky). Toho využívají například crackeři.
V Assembleru probíhá volání API funkcí Windows instrukcí call, před ní pomocí instrukce push musí proběhnout uložení hodnot. V některých Assemblerech (MASM) je možné je volat pomocí maker, např.:
invoke MessageBox,NULL, offset text, offset titulek, MB_OK
Informatika | Programování | Knihovny podprogramů
API | API | API | Programmierschnittstelle | Application programming interface | Application Programming Interface | API | Ohjelmointirajapinta | Interface de programmation | API | Application Programming Interface | Alkalmazásprogramozási felület | API | Application programming interface | Application Programming Interface | API | Aplikacijų programavimo sąsaja | Application Programming Interface | API | API (informatyka) | API | Интерфейс программирования приложений | Application Programming Interface | API | API | Giao diện lập trình ứng dụng | 应用程序编程接口