电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

【原创】嵌入式CGI开发之旅——5

用CGIC开发C语言的CGI程序

用CGIC库来开发CGI程序

cgic是专门为CGI开发的一个ANSI C库,封装了一些C语言CGI编程常用的操作,以及一些字符串和环境变量的处理,服务器提交以后,CGIC先将环境变量或者是标准输入中的数据取出进行一定的处理后再交给用户程序,给C开发CGI带来了极大的方便,下载地址为:www.boutell.com,目前版本号为:2.05当然为了熟悉WEB编程你也可以不使用这个库,我是无意将重点放在web编程上,所以我用CGIC,呵呵。

CGI特性:

ü        对数据进行语法分析;

ü        接收以GET和POST方式发送的数据;

ü        接收上传文件以及常规的表单文件;

ü        提供设置和取得cookies的函数;

ü        用统一的方式处理表单域中的换行;

ü        为提取表单数据提供字符串、整型、浮点及单选和多选函数;

ü        为数字域提供边界检查;

ü        把CGI环境变量处理为非空字串加载到C字符串中;

ü         提供捕获CGI状态进行调试的方法

用CGIC进行C语言的CGI程序开发时,用户程序必须链接到cgic.c模块上,我们也可以不把CGIC编译为模块,这样只要将自己编写的CGI程序和cgic.c和gic.h一起编译就可以了。因为所有的CGI程序都必须进行一些初始化操作,比如分析数据和检查环境变量等,CGIC库提供了自己的mian()函数,所以当我们用CGIC来开发自己的CGI程序时就不能在使用main()函数,而只能使用CGIC提供的cgiMain()函数来开始自己的程序。

CGIC的安装很容易:

1、从网站下载最新的库,目前是2.05版本

2、解压,可以看到整个库包含的文件很少,主要的几个是:cgic.hCGIC库头文件;cgic.cCGIC库的主要源码;cgictest.cCGIC库测试文件;capture.ccapture工具,这是用来调试CGI程序的工具

3、make cgictest就可以得到cgictest.cgi这个测试文件,我们将这个文件拷贝到自己服务器的cgi-bin目录下,然后在浏览器里访问这个文件,如果一切正常的话那么恭喜你可以正常使用cgic库里。

4、make capture生成调试程序,CGI的调试是很麻烦的,因为程序运行在服务器端不能通过调试器来调试,所以CGIC库提供了一个capture程序,用来记录所有的环境变量的变化,只要更改capture.c中cgiMain()中第一行中指定的CGI环境变量保存文件。然后把生成的capture放到自己的cgi目录下,设置表单的action属性指向capture就可以了。当表单提交的时候就会记录下所有的环境变量的变化并存到文件中。

博主
huotingtu@qq.com
longhaihai's Blog
longhaihai
点击跳转