• ベストアンサー

C言語のCGIはプロパイダに聞かなくてもいい?

ParlはCGIを設置するのにプロパイダのParlソフトを使わないとCGIが設置できないと聞きました C言語の場合はParlソフトを使うわけではないのでプロパイダに聞かなくてもCGIは設置可能でしょうか?

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

(1)CGIをどのプログラミング言語で作成して、どの実行環境で実行するか? (2)CGIとして実行できるか? (3)サーバーの運営方針は? これらは、それぞれ別の問題です。 (1) プログラミング言語のPerlを使った作ったプログラム(CGI)は、Perlの実行環境が無いと動作できません。 > ParlはCGIを設置するのにプロパイダのParlソフトを使わないとCGIが設置できないと聞きました が持つ意味の一つは、これです。 C言語で書かれたプログラムも、実行するには対応した実行環境が必要です。 コンパイルしてできた実行ファイルだけで動作しているように見えますが、実際には他にもたくさんの必要なものがあります。 例えば、Windows用の実行ファイルを動作させるには、最低限「Windows」という実行環境が必要です。 サーバー上で実行させるには、そのサーバーで実行できるものを用意する必要があります。 (2) サーバーの設定によっては、CGIの実行を制限することが可能です。 ・Perlで書かれたものだけ許可する とか ・全て許可しない とか、いろいろです。 ・コンパイル済みの実行ファイルは許可しない というのは、セキュリティを考えれば、よくある設定だと思われます。 このような設定だったら、聞くまでもなく、C言語で作ったCGIは動きません。 (3) これらの設定は、プロバイダの運営方針に基くものです。 方針が違えば、設定も違います。

nanaka2222
質問者

補足

●1 『実行環境』ですか そんなのがあるのですね C言語の実行環境を調べてみますね ●2 サーバーの設定をいじくれば可能なのですね ●3 となるとまったく別の疑問が出てきました。 何でプロパイダが必要になるのか?レンタルサーバーにおくだけじゃあダメなのか? と言う疑問が質問のタイトルを変えて質問してみようと思います ありがとうございました

その他の回答 (3)

回答No.4

CGIに使える言語を限定しているプロバイダーがありますので、 利用規約等を確認するか、問い合わせた方が良いと思います。 たとえば@Niftyホームページサービスでは、C言語を使えない旨が書かれています。 http://homepage.nifty.com/outline/ >ご注意 >C言語、シェルスクリプトはご利用いただけません。 自宅にコンパイル環境を用意して実行ファイルを作ったとしても、C言語で作られているCGIアプリを使用して利用規約違反としてアカウント停止等になったとしても、補償はされません。 XREAでは利用可能です。 http://www.xrea.com/spec/ >使用可能な言語は、Perl(Version5.6 / 5.8)、Ruby、Python、C/C++、PHP3/4(日本語化パッチ済み)。 >(C、C++はあらかじめコンパイルしてアップロードしてください。)

nanaka2222
質問者

補足

つまり ・プロパイダによって使えるのと使えないのがある ・使えないのをプロパイダの許可なくCGIを使うと追い出される(インターネット使用不可?強制退会?) 結論 プロパイダに聞けって事ですね

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

>C言語のCGI ――ってのが、Cで書かれたCGIプログラムをコンパイルしてできた実行可能形式データだとしたら、可能では。ABIの違いとか、ランタイムライブラリの違いとかが無ければですが。 それ以前に、 > プロパイダのParlソフトを使わないとCGIが設置できない ――っていう命題が真でないような。 (※Perlのスペルミスじゃないかということを言いたいわけではないです) 正直、不明な点はプロバイダに照会した方が賢いかと。

nanaka2222
質問者

補足

可能かもしれないけれどプロパイダに聞かないとダメなのですね

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

それはcgiを設置しようとするプロバイダにたずねるべき事です。 それに実行ファイルを作るためのコンパイルはどうするつもりですか?

nanaka2222
質問者

補足

結局プロパイダに聞かないとダメなのですね。 コンパイラーを使って普通に作るつもりです。