人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

c++0xでcgi
下記urlのソースをgcc 4.6.1でコンパイルしたバイナリをレンタルサーバ(tok2)で動かそうとしています。このサーバはバイナリcgiをサポートしています。
http://d.hatena.ne.jp/neuromancer_sho/20111024/1319447432

g++のオプションで -static を指定しているので、サーバ側に手元のマシン上のライブラリが無くても動作するだろう、と予測したのですが、Internal Server Errorになってしまいます。エラーログなどはサーバ仕様上見れません。手元のlinuxマシンではapache上でcgiとして動作しています。

特殊なライブラリを使用しない、c++0xの新命令も使用しないcgi
cout<<"Content-Type: text/html\n\n"<<endl; など
であれば、正常に動きます。

サーバ側にライブラリ(soファイル??)が無いとダメなのでしょうか?

レンタルサーバのスペック:
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)
Linux 17.pro.tok2.com 2.6.18-164.11.1.el5xen #1 SMP Wed Jan 20 08:53:10 EST 2010 i686 i686 i386 GNU/Linux

手元のマシンのスペック:
gcc (GCC) 4.6.1 20110819 (prerelease)
Linux arch 2.6.33.7-co-0.7.9 #1 PREEMPT Sat Apr 9 20:30:51 UTC 2011 i686 Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz GenuineIntel GNU/Linux

●質問者: neuromancer_sho
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :キャンセル
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3

# ただの思いつきです


 while(dent = readdir(dir))
 ret.push_back(dent->d_name);

のくだりで、dent->d_name って複製しなくて大丈夫でしょうか?

下のようにしたくなっちゃいますが...

 while(dent = readdir(dir)) {
 string s(dent->d_name);
 ret.push_back(s);
 }

tdoiさんのコメント
暗黙の型変換で実質は同じ扱いになる気がするのでこれは問題ない気がします。

a-kuma3さんのコメント
>|c++| vector<string> ret; ||< 目がザルでした...
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ