嵌入式设备web开发笔记:boa和cgic
11
https://www.jianshu.com/p/dafcf652baed?utm_campaign=haruki
编译环境
ubuntu 16.04
arm-linux-gcc 4.6.3
运行环境
arm9 linux 2.6.39
库版本
boa 0.94
cgic 2.07
boa移植
boa是一个非常轻量的http服务器,支持cgi,编译出来203K(strip后59K),内存占用600K左右,用在嵌入式设备上再合适不过。
安装
boa的安装直接参考官方文档:http://www.boa.org/documentation/boa-2.html
这里提几点:
boa的编译需要byacc和flex,在ubuntu下直接使用apt安装:
sudo apt install byacc
sudo apt install flex
在src/目录下输入命令./configure可以生成Makefile,然后修改makefile使用交叉编译器:
cgic
https://github.com/boutell/cgic
cgic是c语言的cgi库,最新版本2.07,发布于2016年,官网已经挂了,只有github。库本身比较简单,直接下载下来改下Makefile的编译器就能编译。
说起来用c语言来做web有点匪夷所思,不过在嵌入式的世界好像也没啥奇怪的,毕竟资源就那么多,也不用做并发,像路由器那样给单个用户提供一些系统信息、支持设置常用参数就够了。
怎么用这个库
cgic编译出来是一个静态库,61K(strip后34K),自己的程序调他的头文件、链接他的静态库就ok了。如果cgi比较多,用动态库可以减少空间占用。
本文介绍了如何在Ubuntu环境下为ARM9 Linux平台编译Boa http服务器和CGIC CGI库,适用于资源受限的嵌入式设备。Boa以其小巧和低内存占用著称,而CGIC则提供了一种简单的CGI实现方式。
419

被折叠的 条评论
为什么被折叠?



