68user's page 掲示板

Prev< No. 1384〜1387> Next  [最新発言に戻る] [過去ログ一覧]
No. 1384 # book 2000/11/16 (木) 09:22:00
68userさん、ご教授ありがとうございました。

gccのオプション調べてみます。

No. 1385 # はぴお [E-mail] 2000/11/16 (木) 17:15:35
こんにちは、はぴおです。
68userさんレスありがとうございました。
非常に恥ずかしい話ですが、68userさんのおっしゃる通りです。
何で気が付かなかったんだろうか???
ありがとうございました!
HTTP、SMTP、POP3ができたので、今度はFTPをやろうかと
思います。

No. 1386 # CoreFighter 2000/11/18 (土) 00:47:46
お世話になります。
実は今、C言語でCGIの勉強をしているのですけど、
CGIのデバッグってどうやるんでしょうか?

もしかして、動作確認はいちいちブラウザで確認するしかないのですか?
つ、つらい‥

なにか、効率的なデバッグ方法を知っていらしたら
教えて下さい。お願いします。

No. 1387 # 68user 2000/11/18 (土) 03:09:00
> もしかして、動作確認はいちいちブラウザで確認するしか
> ないのですか?
まさか :-)

CGI というのはインタフェースです。

ブラウザからの情報を、環境変数と標準入力経由で
プログラムに引き渡すインタフェース。それが CGI。

だから、
    % env REQUEST_METHOD=GET QUERY_STRING='hoge=1&fuga=2' ./foo.cgi
とか
    % set content='number=123&str=%21%22%23'
    % echo -n $content | env REQUEST_METHOD=POST CONTENT_LENGTH=`echo -n $content|wc -c` ./foo.cgi
とかとか、
    #ifdef DEBUG
    #define INPUTFILE_FOR_DEBUG "debug.txt"
    {
        char tmp[128];
        struct stat sb;
        setenv("REQUEST_METHOD", "POST", 1);
        stat(INPUTFILE_FOR_DEBUG, &sb);
        sprintf(tmp, "%d", sb->st_size);
        setenv("CONTENT_LENGTH",tmp , 1);
        freopen(INPUTFILE_FOR_DEBUG, "r", stdin); /* この使い方合ってるっけなぁ… */
    }
    #endif
とかとかとか。

Prev< No. 1384〜1387> Next  [最新発言に戻る] [過去ログ一覧]