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.-3_i386.deb
drwxr-xr-x root/root -- : ./
drwxr-xr-x root/root -- : ./usr/
drwxr-xr-x root/root -- : ./usr/share/
drwxr-xr-x root/root -- : ./usr/share/doc/
drwxr-xr-x root/root -- : ./usr/share/doc/libcgic-dev/
drwxr-xr-x root/root -- : ./usr/share/doc/libcgic-dev/examples/
-rw-r--r-- root/root -- : ./usr/share/doc/libcgic-dev/examples/cgictest.c.gz
-rw-r--r-- root/root -- : ./usr/share/doc/libcgic-dev/examples/capture.c
-rw-r--r-- root/root -- : ./usr/share/doc/libcgic-dev/cgic.html
-rw-r--r-- root/root -- : ./usr/share/doc/libcgic-dev/copyright
drwxr-xr-x root/root -- : ./usr/lib/
-rw-r--r-- root/root -- : ./usr/lib/libcgic.a
drwxr-xr-x root/root -- : ./usr/include/
-rw-r--r-- root/root -- : ./usr/include/cgic.h
lrwxrwxrwx root/root -- : ./usr/share/doc/libcgic-dev/changelog.Debian.gz -> ../libcgic2/changelog.Debian.gz
lrwxrwxrwx root/root -- : ./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>\n");
fprintf(cgiOut, "<h1>Captured</h1>\n");
fprintf(cgiOut, "Your form submission was captured for use in\n");
fprintf(cgiOut, "debugging CGI code.\n");
return ;
}
参考:
1. http://webjs.blog.sohu.com/301265970.html
libcgi库安装的更多相关文章
- protocol buffer c++ python库安装
c++库安装较简单,不要用源码,还得下载依赖,就被墙了 https://github.com/google/protobuf/releases 下载一个最新的release安装 #protoc -- ...
- [转]Snappy压缩库安装和使用之一
Snappy压缩库安装和使用之一 原文地址:http://blog.csdn.net/luo6620378xu/article/details/8521223 近日需要在毕业设计中引入一个压缩库,要求 ...
- phpize 扩展GD库 安装 ! 环境--centos 7 +nginx 1.7.11+php 5.6.7
使用phpize编译GD库安装,先安装前置库libjpeg libpng zlib freetype等 都是下面php编译的几个选项 先看php编译的选项: --with-gd=DIR ...
- DCMTK3.6.1(MD支持库)安装说明
转载:http://qimo601.iteye.com/blog/1685135 [前言] 最近,因为需要开发DICOM网管模块,必须使用DCMTK的DcmNet模块.但是DCMTK3.6.0在Dcm ...
- laravel项目拉取下来安装,node.js库安装
1.拉取项目 2.切换分支 圈圈里面是版本 composer 安装laravel组件其他库 安装node.js安装包 npm set registry=https://registry.npm.ta ...
- python 库安装笔记
python 库安装笔记 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-2-22 友情提示 安装python库的过程中 ...
- python库安装(numpy+scipy+matplotlib+scikit_learn)
python安装好后,库安装走了很多弯路,查了很多资料,终于安装成功,并且保存了该文章的地址,分享给大家 本人电脑windows 7,64位系统,安装的Python是3.5的,因此下载的库也是对应版本 ...
- 双心一键获取winsxs的写入权限,解决VC运行库安装error1935错误
@Echo offtitle 双心一键获取winsxs的写入权限,解决VC运行库安装error1935等错误set path=%path%;%~dp0setlocal EnableDelayedExp ...
- python 库安装方法及常用库
python 库安装方法及常用库 python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/……/ 2.运行cmd,切换到*:/**/……/目录下 3.运行s ...
随机推荐
- C语言面试问题
内容源自:C语言面试题大汇总 P.S.只摘取了自己觉得可能会被问到的以及不会的. static有什么用途?(请至少说明两种) 1.限制变量的作用域2.设置变量的存储域 引用与指针有什么区别? 1) 引 ...
- DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit)
DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit) DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit) // 设置下拉框 ...
- SSMybatis整合 --详细解读Mybatis对oracle数据库进行增删改查(一)
Mybatis是现在主流的持久化层框架,与Hibernate不同的是,它鼓励程序员使用原声SQL语句对数据库进行操作.因此提供了非常灵活的功能.特别是当数据库同时访问数过多,需要进行优化时,使用sql ...
- Netty Client和Server端实现
本文基于Nett4.0.26.Final版本浅析Client与Server端通讯,先看服务器端: public class Server { public static void run(int po ...
- js实现页面元素随着内容的滚动而滚动
CreateTime--2017年9月4日16:55:06 Author:Marydon js实现页面元素随着内容的滚动而滚动 分析: CSS样式,使用绝对定位确定好页面元素在屏幕的位置(如:正中 ...
- 【DB2】NVL2函数
语法: NVL2(表达式1,表达式2,表达式3) 如果表达式1为空,返回值为表达式3的值.如果表达式1不为空,返回值为表达式2的值. 例子: SELECT ID, NVL2(SEX,'非空','空值' ...
- [机器学习实战] 决策树ID3算法
1. 决策树特点: 1)优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据. 2)缺点:可能会产生过度匹配问题. 3)适用数据类型:数值型和标称型. 2. 一般流程: ...
- simpleRNN
simpleRNN 训练集为<爱丽丝梦境>英文版txt文档,目标:根据随机给出的10个字符,生成可能的后100个字符 词向量空间生产 In [4]: INPUT_FILE = " ...
- mqtt选择
1.名称 MQTT kafka 2.历史 IBM推出的一种针对移动终端设备的发布/预订协议. LinkedIn公司开发的分布式发布-订阅消息系统.后来,成为Apache项目的一部分. 3.原理 基于二 ...
- Python selenium -- cookie处理
转自:http://www.cnblogs.com/fnng/p/3269450.html 本节重点: driver.get_cookies() 获得cookie信息 add_cookie(cooki ...