APIについて

APIについて

はじめに

この記事は下記の参考資料を元にした筆者の解釈の記述です。

正確さについては保証されませんので詳しくは下記の参考元をご参照ください。

APIとは

アプリケーションはシステムコールを使用してOSが提供するサービスを利用する。

ほとんどのシステムではシステムコールのラッパーとなるライブラリルーチンが提供されており、アプリケーションはこれを利用してシステムコールの呼び出しを実現している。

ライブラリルーチンを利用するとシステムコールをより簡単に扱うことができるようになる。

ライブラリルーチンやシステムコールを利用するための規約をAPIと呼び、これに従うことによってシステムコールを利用するアプリケーションを作成することが可能になる。

APIC言語で言うとそれが提供する関数の引数や戻り値、副作用などの処理内容について定められた仕様書のことである。

また、C言語のラッパーと考えることができるPHPなどの言語でも同様である。

このように言語が提供してくれているAPIがあることによってシステムコールやライブラリルーチンの仕様について無関心でもアプリケーションのプログラミングを行うことができる。

また、OSの違いによるシステムコールなどの仕様の違いをC言語などが吸収してくれる。

代表的なAPI

  • ANSI標準ライブラリ関数
    • いわゆる標準Cライブラリ
  • POSIX
  • OpenGL
    • 3DグラフィックプログラミングのためのAPI
  • ソケットAPI
    • TCP/IPによるネットワークプログラミングで使用される。