Apache Portable Runtime
Apache Portable Runtime(アパッチ・ポータブル・ランタイム、APR)は、 Apache HTTP Server のサポートライブラリである。 OSとソフトウェアの間でOSなどの環境の違いを吸収するAPIを提供する。そして、他のOSに一般的にある機能が存在しないOSでは、APRが代替を提供する。よって、APRを使うことにより真のクロスプラットフォームなプログラムを作ることが出来る。
APRはもともとは Apache HTTP Server の一部だったが、現在ではApacheソフトウェア財団の中の独立したプロジェクトとなっていて、Apache HTTP Server 以外のアプリケーションからもクロスプラットフォームのために使われている。
APRに含まれるプラットフォーム非依存の機能:
動的メモリアロケーションとメモリプール
分割不能操作(アトミックオペレーション)
ライブラリの動的読み込み
ファイル入出力
コマンド引数の構文解析
ロック
ハッシュテーブルと配列
mmap
ソケットとプロトコル
スレッド、プロセス、ミューテックス
共有メモリ
時間関係
ユーザーIDとグループID関係