acl库使用FAQ

一、基础问题

1、acl 库是啥、主要包含哪些功能?

acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、UDP方式、协程方式)的服务器程序,WEB 应用程序,数据库应用程序。此外,该库还提供了常见应用的客户端通信库(如:HTTP、SMTP、ICMP、redis、disque、memcache、beanstalk、handler socket),常见流式编解码库:XML/JSON/MIME/BASE64/UUCODE/QPCODE/RFC2047 等。

2、acl 库支持哪些平台?

目前主要支持 Linux/Windows/Macos/Freebsd/Solaris(x86)。

3、acl 库主要包含几个库?

主要包括:lib_acl(用 C 语言写的基础库)、lib_protocol(用 C 语言写的一些网络应用协议库)、lib_acl_cpp(用 C++ 语言编写,封装了 lib_acl/lib_protocol 两个库,同时增加更多实用的功能库)、 lib_fiber(用C 语言编写的支持高性能、高并发的网络协程库)、lib_rpc(用C++语言编写的封装了 google protobuf 网络库)。

4、acl 库有哪些外部依赖库?

lib_acl/lib_protocol/lib_fiber 仅依赖系统基础库;lib_acl_cpp 库的 db 模块依赖于 mysql 客户端库、sqlite 库,stream 流模块依赖于 polarssl 库(该库源码附在 acl/resource 目录下),另外,在 UNIX/LINUX 平台下还需要压缩库 --- libz 库(一般 LINUX 会自带该压缩库);lib_rpc 依赖于 protobuf 库。

5、没有这些第三方库 acl 能否使用?

可以。默认情况下,没有这些第三方库编译和使用 acl 库是没有问题的,只是不能使用 mysql/sqlite/ssl/protobuf 功能。

6、acl 库的源码下载位置在哪儿?

github:https://github.com/acl-dev/acl/

oschina: https://git.oschina.net/acl-dev/acl/

sourceforge:https://sourceforge.net/projects/acl/

 

二、编译&使用问题

1、acl 库的编译过程?

acl 库的编译过程请参考:acl 的编译与使用 博客。

2、Linux 平台下库的编译顺序问题?

lib_acl 库是 acl 库中的基础库,其它库均依赖于该库,库的依赖顺序为:lib_protocol 依赖于 lib_acl,lib_acl_cpp 依赖于 lib_acl 和 lib_protocol,lib_fiber 依赖于 lib_acl,lib_rpc 依赖于 lib_acl/lib_protocol/lib_acl_cpp。因此当应用在连接 acl 库时,需要注意连接的顺序为:-l_acl_cpp -l_protocol -l_acl。

3、Unix/Linux 平台下编译 acl 库时的编译选项是什么?

在 Unix/Linux 平台下编译

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值