转自:http://www.cnblogs.com/jobschu/archive/2013/02/25/2931958.html
Common Gateway Interface,简称CGI。在物理上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。这样说大概还不好理解。那么我们看一个实际例子:现在的个人主页上大部分都有一个留言本。留言本的工作是这样的:先由用户在客户端输入一些信息,如名字之类的东西。接着用户按一下“留言”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器的CGI目录下特定的cgi程序中,于是cgi程序在服务器上按照预定的方法进行处理。在本例中就是把用户提交的信息存入指定的文件中。然后cgi程序给客户端发送一个信息,表示请求的任务已经结束。此时用户在浏览器里将看到“留言结束”的字样。整个过程结束。
一、下载Bcgi源码
下载地址:
http://labs.nevion.com/open-source/ 目前最新发行版本:205(06年更新版本)
下载cgi205.tar.gz
解压:tar xzf cgi205.tar.gz
二、编译cgi 修改交叉编译器: #vim Makefile修改为CFLAGS=-g -Wall -static CC=$(CROSS_COMPILE)gcc AR=$(CROSS_COMPILE)ar RANLIB=$(CROSS_COMPILE)ranlib LIBS=-L./ -lcgic all: libcgic.a cgictest.cgi capture install: libcgic.a cp libcgic.a /usr/local/lib cp cgic.h /usr/local/include @echo libcgic.a is in /usr/local/lib. cgic.h is in /usr/local/include. libcgic.a: cgic.o cgic.h rm -f libcgic.a $(AR) rc libcgic.a cgic.o $(RANLIB) libcgic.a #mingw32 and cygwin users: replace .cgi with .exe cgictest.cgi: cgictest.o libcgic.a $(CC) $(CFLAGS) cgictest.o -o cgictest.cgi ${LIBS} capture: capture.o libcgic.a $(CC) $(CFLAGS) capture.o -o capture ${LIBS} clean: rm -f *.o *.a cgictest.cgi capture
#make CROSS_COMPILE=arm-linux-(在ARM平台上) #make (在PC平台上) 之后生成了capture 和cgictest.cgi两个执行文件 三、目录的创建 上一章节我们已经创建了/cgi-bin目录将capture和cgictest.cgi拷贝到此目录下。 四、测试。 输入地址http://192.168.1.101/cgi-bin/cgictest.cgi
。。。。。。