原创 移植CGIC库

2010-2-21 16:23 3670 11 11 分类: MCU/ 嵌入式
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.boutell.com/cgic/下载源码,当前最新版本是2.05版。将其解压并进入源码目录


    # tar xzf cgic205.tar.gz

    # cd cgic205

    
修改Makefile文件:
    1.找到CC=gcc,将其改成CC=arm-linux-gcc,
    2.找到AR=ar,将其改成AR=arm-linux-ar,
    3.找到RANLIB=ranlib,将其改成RANLIB=arm-linux-ranlib。
    4.找到gcc cgictest.o -o
cgictest.cgi ${LIBS},将其改成$(CC) $(CFLAGS) cgictest.o -o cgictest.cgi
${LIBS},
    5.找到gcc capture.o -o capture ${LIBS},将其改成$(CC) $(CFLAGS)
capture.o -o capture ${LIBS},
    并保存退出。

    然后运行make进行编译,得到的CGIC库libcgic.a,

     我们通过调试辅助程序capture和测试程序cgictest.cgi,来验证生成CGIC库的正确性。

      将capture和cgictest.cgi复制到开发板的CGI程序目录下,用浏览器访问这个cgi文件,可以看到页面,表示CGIC库和测试 脚本都移植成功。cgictest.cgi比较完整的展现了CGIC库的功能,在开发基于CGIC库的CGI程序前最好先掌握cgictest.cgi程 序,也是用户开发特定应用程序时的参考范例。

CGIC库的zip包:


文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条