acl 的编译与使用
来源:互联网 发布:java 文件加密个解密 编辑:程序博客网 时间:2024/05/16 19:13
acl 库的功能参见文章 <acl介绍>,本文主要讲述如何编译和使用 acl 库。
acl 下其实有四个库:lib_acl (基础库)、lib_protocol(http 和 icmp 协议库)、lib_dict(封装了 bdb, cdb, Tokyo Cabinet 库的用于字典查询的库)以及 lib_tls(封装了openssl部分功能的库,主要用于 lib_acl 的 ssl 加密传输)。其中,笔者用的最多还是 lib_acl 和 lib_protocol 两个库,所以本文主要介绍这两个库的编译与使用。
开始时 acl 库是支持 Linux、Solaris、FreeBSD 和 Windows 平台的,但后来由于受限于机器环境,所以现在仅支持到 Linux 和 Windows 两个平台了,其它几个平台欢迎读者进行移植。
一、Linux 平台上编译
1、编译 lib_acl.a 库
进入 lib_acl/ 目录,直接运行 make,正常情况下便可在 lib/ 目录下生成 lib_acl.a 静态库,用户在使用 lib_acl.a 编写自己的程序时,需要在自己的 Makefile 文件中添加如下选项:
1.1、编译选项:-I 指定 lib_acl/include 所在目录,-DLINUX2 指定 Linux 平台
1.2、链接选项:-L 指定 lib_acl.a 所在目录,-l_acl 指定需要链接 lib_acl.a 库
同时,用户需要在自己的源程序中包含 lib_acl 的头文件,如下:
#include "lib_acl.h"
2、编译 lib_protocol.a 库
进入 lib_protocol/ 目录,直接运行 make,正常情况下便可以在 lib/ 目录下生成 lib_protocol.a 静态库,用户在使用 lib_protocol.a 编写自己的程序时,需要在自己的 Makefile 文件中添加如下选项:
2.1、编译选项:-I 指定 lib_protocol/include 所在目录,-DLINUX2 指定 Linux 平台
2.2、链接选项:-L 指定 lib_protocol.a 所在目录,-L 指定 lib_acl.a 所在目录,-l_protocol -l_acl
同时,用户需要在自己的应用程序中包含 lib_protocol 头文件,如下:
#include "lib_protocol.h"
二、Windows 平台
2.1 编译
进入 acl\win32_build\vc 目录,用 vc2003 打开工程文件:acl_project_vc2003.sln (原来还支持VC6及VC2008,但也好久没有更新这两个工程文件了)。用户可以选择编译 lib_acl、lib_protocol 的静态库调试版、静态库发布版、动态库调试版以及动态库发布版,编译完成后,会在 acl\dist\lib\win32 目录生成的静态库有:
lib_acl_vc2003d.lib、lib_acl_vc2003.lib、lib_protocol_vc2003d.lib 和 lib_protocol_vc2003.lib;
生成的与动态库相关的文件有:lib_acl_d.dll/lib_acl_d.lib,lib_acl.dll/lib_acl.lib,lib_protocol_d.dll/lib_protocol_d.lib 和 lib_protocol.dll/lib_protocol.lib。
2.2 使用
a)在 win32 平台下使用 lib_acl 和 lib_protocol 静态库时,只需要在包含目录中添加 lib_acl/include 和 lib_protocol/include 所在的路径,在链接时指定静态库路径及静态库名称。
b)在 win32 平台下使用 lib_acl 的动态库时,不仅要做与 a) 中所指定的操作,而且需要在预处理器定义中添加:ACL_DLL;在使用 lib_protocol 的动态库,需要在预处理器定义中添加:HTTP_DLL 和 ICMP_DLL。
个人微博:http://weibo.com/zsxxsz
acl 下载
原文地址
更多文章
QQ 群:242722074
- acl 的编译与使用
- acl 的编译与使用
- acl 的编译与使用
- Ubuntu ACL 的使用
- 21.ACL 的使用
- 使用 acl 库开发简单的客户端与服务器程序
- Linux 的ACL的使用
- RBAC与ACL的比较
- 使用 NFSv4 ACL 的文件系统
- ACL的基本原理、功能与局限
- Spring Security ACL使用Oracle数据库的配置与数据库脚本
- 关于Acegi中Acl权限的使用
- 使用iptales进行ACL设置的script
- linux下的acl权限使用
- 无法使用ACL功能的解决办法
- ACL中wildcard mask的使用
- spring security3.0的ACL使用例子
- acl的access-list命令使用详解
- 项目总结
- ipc_service 类:阻塞与非阻塞混合编程
- 磁盘控制器故障导致服务器无法读写的处理方法
- 使用 acl 异步库及ICMP协议库编写了一个同时PING多个目标IP的程序
- Unity3d游戏开发之漫游场景的制作
- acl 的编译与使用
- xmanager 4注册码 xftp注册码 xshell注册码
- acl_cpp 编程之 xml 流式解析与创建
- acl_cpp 的编译与使用
- 可扩展的world wind 加载谷歌、天地图、必应地图等等的代码
- 关于邻接表和其深度优先遍历、广度优先遍历的问题
- 用C++实现类似于JAVA HttpServlet 的编程接口
- 使用 acl_cpp 的 HttpServlet 类及服务器框架编写WEB服务器程序
- web 编程中实现文件上传的服务端实例