Apache可移植运行时
- 1.7.4 (2023年4月16日)[1]
![編輯維基數據鏈接](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)
- github
.com /apache /apr
![編輯維基數據鏈接](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)
Apache可移植运行时(Apache Portable Runtime,简称APR)是Apache HTTP服务器的支持库,提供了一组映射到下层操作系统的API。如果操作系统不支持某个特定的功能,APR将提供一个模拟的实现。这样程序员使用APR编写真正可在不同平台上移植的程序。
最初,APR是作为Apache HTTP服务器的一部分而存在的,但是Apache软件基金会将其延伸成一个单独的项目。其他的应用程序可以使用APR来实现平台无关性。
功能特性
Apache可移植运行时提供的一系列平台无关的功能特性包括:
- 内存管理和内存池功能
- 原子操作(Linearizability)
- 动态库处理
- 文件I/O
- 命令参数解析
- 锁机制
- 散列表和数组
- mmap(英语:mmap)功能
- 网络套接字和协议
- 线程,进程和互斥锁功能
- 共享内存功能
- 时间子程序
- 用户和组ID服务
类似的项目
- Glib提供类似的功能特性。 支持更多的数据结构和操作系统无关的函数,但进程间通信相关的函数要少一些(Glib缺少本地和全局锁机制以及共享内存管理)。
- 网景可移植运行时(英语:Netscape portable runtime)(NSPR)是Mozilla项目所使用的跨平台抽象库。也被Mozilla应用程序框架(XPFE)的其他子项目所使用,以提供跨平台图形用户界面(GUI)功能特性。
- 自适配通信环境 (ACE)是用C++编写的功能与APR相似的面向对象库,广泛应用于商业产品。[2]
- commonc++ 是系统编程的跨平台C++类库,具有许多与APR的相同的特性。
- POCO(英语:POCO C++ Libraries)是概念上与APR类似的现代C++框架,但比APR具有更好的扩展性。
- WxWidgets是面向对象的跨平台GUI库,也提供数据库通讯,进程间通信和网络的抽象类。
- Qt是具有类似功能的应用开发框架, 同时支持图形用户界面开发。
参考文献
外部链接
|