次は、なににしましょうか? 掲示板かな?
実は、ここまで遊んでくると、CGI の使い方も結構解ってきて(^^;;;
結構なんでも出来てしまうことが解ってきました。telnet もどきも作れそうです。
あんまり、何でも出来てしまいそうなので、びびって、カストマーサポートセンターに電話しました(^^;;;
「CGI は自由に使って、その使い方を紹介しても結構です。」 (97/08/18 カストマーサポートセンター中村さんのお答え) うわぁ・・・気前がいいぞ! NEC ! えらい!
なんとCコンバイラも動き、有名な wwwcount まで動いてしまいました!!
解説にご期待下さい。(step 8 で、ちょっと説明しています。) これを動かすには、けっこう手数がかかりましたので・・・ とりあえず、Cコンパイラを使ってみることにします。
Cでつくった最初のサンプル
hw.c ソースファイルの内容
telnet.cgi は、ここのふろくにあります。
- ftp> telnet.cgi を作業用ディレクトリへ転送する。(ASCII MODE)
- ftp> telnet.cgi のパーミッションを変更する。(700)
- ftp> Cのソースファイル hw.c を転送する。(ASCII MODE)
- www> telnet.cgi を起動し cc hw.c とコンパイルする。
- www> エラーがなくなって、コンパイルできれば、a.out ができます。
- www> telnet.cgi から ls -l とすると a.out ができあがったのが確認できます。
- www> telnet.cgi から ./a.out とすると動作が確認できます。
- www> telnet.cgi から mv a.out hwc.cgi として、ファイル名を変更する。
- www> telnet.cgi から chmod 700 hwc.cgi として、パーミッションを変更してもよい。
(755 になっているので、変更しなくても実行できます。)- ftp> ftp で、telnet.cgi を削除する。
(だれでも使えてしまう telnet.cgi は、削除しておかないと、不安ですね。)
動かしてみる
動かしてみる(timefmt の記述例)
ssi.c ソースファイルの内容
cc ではコンパイルできなかったので、gcc でコンパイルします。
時刻表示も内蔵しましたし、動作が速くなるかと期待していたのですが、 起動がすこし速くなった程度のようです。 Perl の動作は、なかなか高速です。
- www> telnet.cgi から gcc ssi.c -o ssic.cgi としてコンパイルします。
timefmt の指定
関数 strftime を使用したので、ほんもの SSI と同じになりました。たぶん(^^;;;
以下は抜粋で、動作も未確認ですが(^^;;;%m 月 ( 01 - 12 ) %d 日 ( 01 - 31 ) %y 年の後ろ2桁 ( 00 - 99 ) %x 日付(YY/MM/DD) %D 日付 (mm/dd/yy) %H 時 (00 - 23) %M 分 (00 - 59) %S 秒 (00 - 59) %T 時刻 (HH:MM:SS) %j day of year (001 - 366) %w day of week (Sunday = 0) %a 曜日 (Sun - Sat) %A 曜日 (Sunday Monday Tuesday...) %b 月の頭3文字(Jan Feb Mar...) %B 月 (January February March...) %h 月の名前 (Jan - Dec) %c 日時(YY/MM/DD HH:MM:SS) %I 時(12時間制) (01-12) %p AM あるいは PM %U 日曜日からの第n週 (00-53) %W 月曜日からの第n週 (00-53) %x 日付 (YY/MM/DD) %X 時刻 (HH:MM:SS) %Y 西暦 (1970-) %Z タイムゾーン (JST...) %% % 自身
GNU の C コンパイラです。
所在は・・・/usr/local/bin/gcc
UNIX の C コンパイラとしては、広く使われているようです。