提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
C/C++ 程序虽然执行效率高,但程序员在开发 WEB 应用时却因为没有好的 WEB 开发框架而导致开发效率低,所以 C/C++ 一般被用在开发执行效率高的后台服务器程序,目前有了跨平台网络通信与服务器框架(acl库)后这一情况得到很大改观,在 acl 库中提供了类似于 JAVA HttpServlet 的开发接口,大大提高了 C/C++ 程序员开发 WEB 应用的效率,acl 库中有完整的服务器开发框架,更使得 C/C++ 程序员可以快速地写出高效的 WEB 服务器程序。本例子为一个简单的 WEB 服务器程序,其在 acl 库中的位置:acl\lib_acl_cpp\samples\master_http_threads
acl 库下载:http://sourceforge.net/projects/acl/
acl 库的 github:https://github.com/zhengshuxin/acl
更多技术文章:http://zsxxsz.iteye.com
QQ 群:242722074
提示:以下是本篇文章正文内容,下面案例可供参考
一、acl?
acl一个跨平台网络通信与服务器框架(acl库)。
二、编译
1.环境要求(本文使用在Ubuntu 16.04下使用)
代码如下(示例):
依赖库:libiconv 以及libz 库。
libiconv库链接: http://ftp.gnu.org/pub/gnu/libiconv/ 使用 libiconv-1.14.tar.gz
zlib库链接: https://github.com/madler/zlib
/configure make make install 即可。
环境 Ubuntu14.04 64位 编译 libiconv-1.14 出错
错误现象:
In file included from progname.c:26:0:
./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
^
make[2]: *** [progname.o] 错误 1
make[2]:正在离开目录 `/home/bupt/miao/box/soft/libiconv-1.14/srclib'
make[1]: *** [all] 错误 2
make[1]:正在离开目录 `/home/bupt/miao/box/soft/libiconv-1.14/srclib'
make: *** [all] 错误 2
二、解决方法
在libiconv-1.14/srclib/stdio.in.h 中把
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
替换成
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
重新编译libiconv就OK了.
2.acl-master 编译
编译报错:
缺少对应的两个库,需要打来编译的外部链接库即可。