zoukankan      html  css  js  c++  java
  • libcgi库安装

     官网:https://boutell.com/cgic/#build

    1. 可直接tar包安装

    tar xvf libcgi-1.0.tar.gz
    cd libcgi-1.0
    ./configure
    make
    cd src

    sudo cp libcgi.so /usr/lib
    sudo cp cgi.h session.h /usr/include

    写代码时包含头文件应写:
    #include <cgi.h>
    #include <session.h>

    学习libcgi库的方法:
    源码包目录/doc/html目录下有一个index.html是帮助文档。
    源码包目录/examples目录下是各种示例程序,结合帮助文档研究它们是如何工作的。

    2. apt-get源上安装
    sudo apt-get install libcgic-dev

    注:apt-get安装软件时下载的包存放在目录:/var/cache/apt/archives
    包含头文件需要写:
    #include <cgic.h>

    在libcgic 2.0+,主程序主要实现cgiMain()函数。

    一般编译命令:gcc cgictest.c -lcgic

    注:通过dpgk -c libcgic-dev_2.05-3_i386.deb可查看文件安装目录

    ~$dpkg  -c libcgic-dev_2.05-3_i386.deb 
    drwxr-xr-x root/root         0 2012-05-24 23:13 ./
    drwxr-xr-x root/root         0 2012-05-24 23:13 ./usr/
    drwxr-xr-x root/root         0 2012-05-24 23:13 ./usr/share/
    drwxr-xr-x root/root         0 2012-05-24 23:13 ./usr/share/doc/
    drwxr-xr-x root/root         0 2012-05-24 23:13 ./usr/share/doc/libcgic-dev/
    drwxr-xr-x root/root         0 2012-05-24 23:13 ./usr/share/doc/libcgic-dev/examples/
    -rw-r--r-- root/root      4299 2004-04-23 04:49 ./usr/share/doc/libcgic-dev/examples/cgictest.c.gz
    -rw-r--r-- root/root       338 2004-04-23 04:49 ./usr/share/doc/libcgic-dev/examples/capture.c
    -rw-r--r-- root/root    105885 2004-11-16 00:59 ./usr/share/doc/libcgic-dev/cgic.html
    -rw-r--r-- root/root       990 2012-05-24 23:13 ./usr/share/doc/libcgic-dev/copyright
    drwxr-xr-x root/root         0 2012-05-24 23:13 ./usr/lib/
    -rw-r--r-- root/root     29364 2012-05-24 23:13 ./usr/lib/libcgic.a
    drwxr-xr-x root/root         0 2012-05-24 23:13 ./usr/include/
    -rw-r--r-- root/root      7403 2004-04-23 04:49 ./usr/include/cgic.h
    lrwxrwxrwx root/root         0 2012-05-24 23:13 ./usr/share/doc/libcgic-dev/changelog.Debian.gz -> ../libcgic2/changelog.Debian.gz
    lrwxrwxrwx root/root         0 2012-05-24 23:13 ./usr/lib/libcgic.so -> libcgic.so.2.05

    3. 安装目录下capture.c为标准范例

    #include "cgic.h"                                                               
    
    int cgiMain() {
        cgiWriteEnvironment("/CHANGE/THIS/PATH/capcgi.dat");
        cgiHeaderContentType("text/html");
        fprintf(cgiOut, "<title>Captured</title>
    ");
        fprintf(cgiOut, "<h1>Captured</h1>
    ");
        fprintf(cgiOut, "Your form submission was captured for use in
    ");
        fprintf(cgiOut, "debugging CGI code.
    ");
        return 0;
    }

    参考:

    1. http://webjs.blog.sohu.com/301265970.html

  • 相关阅读:
    笨蛋的厄运
    模仿写了一个摸鱼应用解决原作者的问题
    retain和copy还有assign的区别
    分析与理解通知消息WM_NOTIFY
    备忘录
    数据结构C++模板实现之单向链表
    服务器(VPS合租)
    复制构造,赋值操作符,const重要性
    Windows 注册表操作简介
    窗口类封装之窗口对象消息处理的映射方法(1)
  • 原文地址:https://www.cnblogs.com/embedded-linux/p/5211512.html
Copyright © 2011-2022 走看看