本文主要是介绍【原创】boa服务移植到安卓手机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全。
下面给大家介绍一下Boa服务器移植的具体操作步骤,希望能够有帮助。
我所用的环境是在ubuntu12下,交叉编译工具arm-none-linux-gnueabi-gcc(arm-linux-gcc-4.4.3.tar.gz),运行板子安卓手机(最好是烧的android debug版,这样有root权限操作较为方便一些);
结合网上一些教程结合自己的移植过程中遇到的问题,贴出来;编译之前需要安装bison和flex,这两个工具用,sudo apt-get install就可以安装了;
1.下载Boa源码
下载地址: http://www.boa.org/
最新发行版本: 0.94.13
下载 boa-0.94.13.tar.gz
解压:# tar xzf boa-0.94.13.tar.gz
2.修改一些头文件
(1)修改 src/compat.h
找到
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff 修改成 #define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
否则会出现错误:
util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] 错误 1
(2)修改 src/log.c
注释掉
if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}
为:
/*if (dup2(error_log, STDERR_FILENO) == -1) {
这篇关于【原创】boa服务移植到安卓手机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!