• ベストアンサー

CGIのメモリーについて

いままで淡々とCGIをいろいろ作成してきましたが、そんなに大きなものを作成していないので気にしていませんでした。 CGIのをサーバー上で動かす際にメモリーのことを考えようと思いました。メモリーに関してはプログラム言語全体にいえることだと思いますが、CGIを例にご教授ねがえたらとおもいます。 メモリーの消費というのはファイルをrequireした場合、そのファイルを呼び込んだファイルのバイト数が使われるの? require したソース内にサブルーチンがあればそれは呼び出すまでメモリーは使われないのか? などそのほかにもあれば教えていただきたいです。

  • CGI
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • onosuke
  • ベストアンサー率67% (310/456)
回答No.1

申し訳ないですが、 もっとPerlの仕組みについて学ぶことをお勧めします。 質問を見ると、 ・Perlソースが実行されるまで仕組み(bytecodeを知っていますか?) ・Perlモジュールの仕組み(*.pmに関連した*.soや*.alの存在を知っていますか?) など、話を進める上で必要な知識が欠けているように感じられます。 一回腰をすえて、正規のドキュメント類に目を通してみてください。 ちなみに、メモリのことなど気にせずに使うのもPerlプログラマの美徳の一つです。:-) # 事実、Perlを理解することは(巷で難しいと噂の)C言語より難しい。 # しかし、Perlを使用するは遥かに簡単。 以下、Perl manpagesより >プログラマの 3 つの美徳は、無精、短気、傲慢です。 理由は、 >キャメルブックを参照してください。

参考URL:
http://www.harukaze.net/~mishima/perl/man/autoloader.3pm.html
bakusui
質問者

お礼

返事がおくれました。 ありがとうございます。 一度腰をすえて勉強してみます。

関連するQ&A

  • perl CGIでの@INC

    たびたびお世話になります。 perl CGIを作っています。作っているCGIとは別のディレクトリにあるファイルをrequireしたいのですが、リモートログインできないレンタルサーバのため@INCのいじり方がわかりません。 こういった場合のrequire方法(あるいはプログラム再利用方法)をお教えください

    • ベストアンサー
    • Perl
  • CGIのちょっとしたこと

    CGIをいろいろと実験しているのですが、わからないことが2点あります。ローカルな環境で実行しています。 1.データファイル(実行ファイルではない)の拡張子なんですが、data.datとかdata.cgiとかありますよね。セキュリティ的にはcgiの方が安全なんですか?.datだとエディッタで中身がみれてしまうので・・。 2.実行ファィル内にパスワードを記述することがありますよね。そこで、実行形式のprogram.cgiファイルの中身をみられてしまうことがあるのでしょうか?rootにはみられてしまうかもしれないが、通常のユーザーがファイルのソースコードをみれてしまうということはないのでしょうか。私は多分みれないと思うのですが、特殊なソフトウェアなどが存在したりしますか。 3.実行から10秒後にファイルを作成するプログラムがあったとして、このプログラムを実行した直後にブラウザを閉じたとします。しかし、10秒後にはちゃんとファイルが作成されています。ブラウザを閉じてしまってもプロセスは残るものなのでしょうか。 ※プログラムはすべてブラウザで実行しています。

    • ベストアンサー
    • CGI
  • C言語で作ったプログラムをCGIで動かすには

    C言語で作ったプログラムをCGIで動かすにはどうすればいいのでしょうか? サーバ側になにをアップし、ブラウザ側で何を呼び出せばいいのかわかりません。 EXEファイルの拡張子をcgiにしても ダウンロードされるだけだったし(当たり前ですか?)。 ちなみにサーバは会社のサーバを使っていて、CGIも使えるはずです。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • C言語CGIの一括コンパイルの方法

    10年くらい前に作ったゲームの復活を考えています。 当時ledhat7.1上で展開していたゲームをSentOS上で再開します。 ゲームはC言語で出来ていますが、作った本人が手を付けることができません。 そこで、当方が10年前の姿にまでは持っていこうと考えています。 いろいろ調べていくと、 「C言語によるCGIプログラムは、それを動かそうとする サーバー上でソースファイルをコンパイルする必要があります。 他のマシンでコンパイルしたCGIプログラムをそのまま持って来ても、動かない 可能性の方が大きいです。ご注意下さい。」 という記述を見つけました。 全部、コンパイルし直す必要がありそうです。 当方の現在の環境は下記の通りです。 サーバー  自宅にあり。直接接続可能 もちろんSSHも可 CGI の数 178個 ディレクトリは40個くらいに分かれている コンパイル前のC言語ファイルは「.c ファイル」として 保存されている ひとつひとつコンパイルしていったのでは、1ケ月くらい 掛かりそうです。 一括コンパイルのような方法はありませんでしょうか? 一括でなくとも、ディレクトリごとでも構いません。 宜しくお願い致します。

  • cgiから別のcgiをコールする方法を教えてください。

    いつもお世話になります。 プログラムとプログラムを結合しております。最初はサブルーチン化しようと思いましたが、元のプログラムの解析ができず。プログラムのコールしたいと考えております。perlから別のperlで作成したcgiをコールする記述方法を教えてください。初歩的な質問で申し訳ありません。

    • ベストアンサー
    • Perl
  • CGIの著作権について

    先日No.1760698で「初心者がCGIを作って見たい」という質問をしたものです。 皆さんの回答に励まされ、独学でPerlの勉強を開始し、簡単な参考書を通読して見たり、持っているCGIのプログラム・ソース(という言い方でいいのでしょうか)を見たりしています。 (質問のきっかけ) そんな中、あるCGIのソースを見ていると、メイン・ファイルは長いプログラムなのですが、中で使われるあるファイルのプログラムは2行、というのがありました。以下の2行です。 $activate = 1; require "XXX.cgi"; でもこの上に10行以上に渡って、著作権は○○に属するので以下のプログラムの一切の改変は行わない事云々・・・が記載されています。 これを見て「これを改変するなと言われても(笑)」など色々疑問に思い以下の質問です。 (質問) メールフォームや掲示板などの中でも単純なプログラムのものは、ある程度「誰がやってもこうなる」「似たようなものにはなる」というものではないのでしょうか?どのあたりから「著作権」が出てくると考えればよいのでしょう? 例えば、簡単なアンケートフォームを作るぞ!と思ってプログラムを書いてみたけど、別の著作権のあるプログラムとほとんど同じって事にはならないものなのですか?(逆に、真似しても「オリジナルで考えて作りました」と言えば分からないような気もするのですが・・・)もちろん複雑なプログラムになれば色々違ってくるのは分かるのですが。 最初は持っているCGIを参考に改変しながら練習・・・と思っていたのですが、著作権がどこまでCGIの世界では問題になるのか気になりましたので、質問したします。ちょっとあいまいな質問文で恐縮ですが、皆さんのお考えや、一般的なルール、マナーなども含め教えて頂ければ幸いです。

    • ベストアンサー
    • CGI
  • CGIでの500エラー

    CGIサイトを作成中の者です。 CGIをサーバーに転送して動作確認をしたらサーバーエラーになってしまいます。 サーバーに問い合わせて、以下が原因でエラーになっていることはわかりました。 Unrecognized character \x90 at ./miuinit.pl line 100. Compilation failed in require at miumgr.cgi line 11. でもCGI初心者なので、”\x90”が何をさすのか、2番目の文ではどこを直せばいいかわかりません。 サーバー会社では自分でCGIを修正せよとのことです。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • サブルーチンを外部ファイルでまとめる。

    幾つかのサブルーチンを複数のCGIで利用します。 現在は各CGIにまったく同じサブルーチンを書いていますが、美しくないです。 これを別ファイルにまとめて呼び出して利用と言うのは出来ないのでしょうか? 試しに「set.pl」や「set.ini」でサブルーチンを保存し、「require」で呼び出そうとしたのですが、500エラーが出ました。 何か設定が必要でしょうか?

    • ベストアンサー
    • Perl
  • このようなCGI可のレンタルサーバありますか?

    やりたい事、 CGIとして認識できる拡張子を追加したいのですが 無料のレンタルサーバで、その様な事が出来るところ があれば教えてください。 apachサーバで言うところのhttpdoc(設定ファイル)を 書き換えたい訳ですが。 参考 CGIとして追加したい拡張子は .nako なでしこと言う日本語プログラム言語のものです。

  • 使っているマシンでCGIを作成して動かしたい。

    自分が使っているマシンはWindowsMEなのですが、このマシン上で プログラム言語使いCGIを作成し、実際に同マシン上で作成した CGIを動かしてみたいのですが、可能なのでしょうか?

専門家に質問してみよう