CGIC库的移植
CGIC是一个支持CGI开发的开放源码的标准C库,可以免费使用,只需要在开发的站点和程序文档中有个公开声明即可,表明程序使用了CGIC库,用户也可以购买商业授权而无需公开声明。
CGIC能够提供以下功能: 1 分析数据,并自动校正一些有缺陷的浏览器发来的数据; 2 透明接收用GET或 POST方法发来的From数据;
3 能接受上传文件;
4 能够设置和接收cookies; 5 用一致的方式处理From元素里的回车; 6 提供字符串,整数,浮点数,单选或多选功能来接收数据; 7 提供数字字段的边界检查; 8 能够将CGI环境变量转化成C中的非空字符串; 9 提供CGI程序的调试手段,能够回放CGI程序执行时的CGI状态; 总之,CGIC是一个功能比较强大的支持CGI开发的标准C库,并支持Linux, Unix 和Windows等多操作系统。 以下描述CGIC的移植过程。
从CGIC的主站点http://www./cgic/下载源码,当前最新版本是2.05版。将其解压并进入源码目录
# tar xzf cgic205.tar.gz
# cd cgic205
修改Makefile文件,找到CC=gcc,将其改成
CC=arm-linux-gcc,找到
AR=ar,将其改成AR=arm-linux-ar,找到RANLIB=ranlib,将其改成RANLIB=arm-linux-ranlib。找到
gcc cgictest.o -o cgictest.cgi ${LIBS},将其改成$(CC) $(CFLAGS) cgictest.o
-o cgictest.cgi ${LIBS},找到gcc capture.o -o capture ${LIBS},将其改成$(CC)
$(CFLAGS) capture.o -o capture ${LIBS},并保存退出。
然后运行make进行编译,得到的CGIC库libcgic.a,我们通过调试辅助程序capture和测试程序cgictest.cgi,来验证生成CGIC库的正确性。 将capture和cgictest.cgi拷贝到主机的/nfs/www/cgi-bin目录下。 在工作站的浏览器地址栏输入
http://192.168.67.16/cgi-bin
/cgictest.cgi,可以看到页面,表示CGIC库和测试脚本都移植成功。cgictest.cgi比较完整的展现了CGIC库的功能,在开发基
于CGIC库的CGI程序前最好先掌握cgictest.cgi程序,也是用户开发特定应用程序时的参考范例。
|
|
来自: champion_xu > 《cgi》