嵌入式设备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比较多,用动态库可以减少空间占用。
参考 https://markrepo.github.io/protocol/2018/06/25/cgic/
|