CGICC - 1

CGICCとわ

cgiccは、最近私が気になっ ているライブラリの1つです。

まぁ、なんてことない、Perlにおけ るCGI.pmのC++版 みたいなやつだけど、ちょっと使ってみようかなという気になったので、備忘録を兼ね て、掲載しておこうかと思います。

このcgiccは実はGNUのプロダクトのひとつで、ソースコードが CVSで取ってこれたり、MLが充実してるっぽかったりするので、いい感じで す。

取ってくる&ビルドする

ftp.gnu.org からtarballを取ってくるもよし、CVSから取ってくるもよし。お好きな方法で手に入れたら、さくっと、 ./configure & make install しちゃいましょう。(バージョン3.2.1+GCC2.xではCgiEnvironment.cppでstd::isspaceが 見つからないという問題があるかもしれま せんが、std:: を取ればビルドできるようになるはずです。)

サンプル1

それでは、いつものアレ(ぉをサンプルとして作ってみましょ う。

#include <iostream>
#include <exception>

#include <cgicc/Cgicc.h>
#include <cgicc/HTTPHTMLHeader.h>
#include <cgicc/HTMLClasses.h>

int main(int argc, char** argv) {
using namespace cgicc;

try {

Cgicc cgi;


// ヘッダを出力
std::cout << HTTPHTMLHeader() << std::endl;

// いつもの
std::cout << html() << body() << std::endl;
  std::cout << p("Hello, world!") << std::endl;
std::cout << body() << html() << std::endl;
} catch (std::exception& e) {
// エラー
}
return 0;
}

上のコードをコンパイル&リンクしたものが cgicc_1.cgi となります。