Apache可移植執行時
開發者 | Apache軟件基金會 |
---|---|
目前版本 |
|
原始碼庫 | |
程式語言 | C語言 |
作業系統 | 跨平台 |
類型 | 開發庫 |
特許條款 | Apache特許條款 2.0 |
網站 | apr |
Apache可移植執行時(Apache Portable Runtime,簡稱APR)是Apache HTTP伺服器的支援庫,提供了一組對映到下層作業系統的API。如果作業系統不支援某個特定的功能,APR將提供一個模擬的實現。這樣程式設計師使用APR編寫真正可在不同平台上移植的程式。
最初,APR是作為Apache HTTP伺服器的一部分而存在的,但是Apache軟件基金會將其延伸成一個單獨的專案。其他的應用程式可以使用APR來實現平台無關性。
功能特性
Apache可移植執行時提供的一系列平台無關的功能特性包括:
- 主記憶體管理和主記憶體池功能
- 原子操作(Linearizability)
- 動態庫處理
- 檔案I/O
- 命令參數解析
- 鎖機制
- 雜湊表和陣列
- mmap功能
- 網絡通訊端和協定
- 線程,行程和互斥鎖功能
- 共用主記憶體功能
- 時間子程式
- 用戶和組ID服務
類似的專案
- Glib提供類似的功能特性。 支援更多的數據結構和作業系統無關的函數,但行程間通訊相關的函數要少一些(Glib缺少本地和全域鎖機制以及共用主記憶體管理)。
- 網景可移植執行時(NSPR)是Mozilla專案所使用的跨平台抽象庫。也被Mozilla應用程式框架(XPFE)的其他子專案所使用,以提供跨平台圖形化使用者介面(GUI)功能特性。
- 自適配通訊環境 (ACE)是用C++編寫的功能與APR相似的物件導向庫,廣泛應用於商業產品。[2]
- commonc++ 是系統編程的跨平台C++類別庫,具有許多與APR的相同的特性。
- POCO是概念上與APR類似的現代C++框架,但比APR具有更好的擴充性。
- WxWidgets是物件導向的跨平台GUI庫,也提供資料庫通訊,行程間通訊和網絡的抽象類。
- Qt是具有類似功能的應用開發框架, 同時支援圖形化使用者介面開發。
參考文獻
- ^ https://github.com/apache/apr/releases/tag/1.7.4; 出版日期: 2023年4月16日; 檢索日期: 2024年4月13日.
- ^ ACE and TAO Success Stories. [2008-07-31]. (原始內容存檔於2008-08-29).