Hatena::ブログ(Diary)

int main(int argc, const char **argv)って何? このページをアンテナに追加 RSSフィード

質問int main(int argc, const char **argv)って何?

懐かしい質問だね…答えはここにあります。この質問のせいで、今の自分がここにいるって考えた人は僕だけなのかなぁ?

こちらはあるゲーム会社のプログラマが語った日常の話…技術やプログラムなどを語りたいが、情報漏洩で捕まるのが怖くてやれない僕がいる。

2009-04-25, Sat ひどい

[] 絶体絶命都市 3

「絶対絶命都市 3*1」がPSPに出るって聞いてから、このゲームを楽しみにして期待してる。発売日に、昼休み中に会社の近くの店でこのゲームを買った。木曜日から頑張ってやったが、やっぱり断念だった。1と2はかなり面白かったが、3は正直にできがあまり良くなかった。グラフィックとストーリーは別に悪くなかったが、システムとゲームデザインとゲームバランスは悪い。ロード時間が長いのは問題だなぁ。インストール機能があっても、ロードは15秒以上程度。このせいで、ゲームのテンポがかなり悪い。一番の大問題はゲームデザインとゲームバランスだと思う。主人公が次々事件に巻き込まれて、ストーリーを進んでいくが、事件に巻き込まれたら、平均、一件に3回ぐらい死なないと進めない。しかも、死んだら、リトライする度に長いロードが入って、かなりひどかった。結局、クリアするには、攻略を見ながらやらないと駄目。残念だなぁ…キャラクターとストーリーがかなり良いと思うのになぁ…

*1:ちょっと残念?

絶体絶命都市3 -壊れゆく街と彼女の歌-

絶体絶命都市3 -壊れゆく街と彼女の歌-

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/x_nus/20090425/1240673416

回答int main(int argc, const char **argv)って何?

C/C++のメイン関数です。C/C++プログラムは一つのメイン関数が必要です。プログラムを実行すると、この関数を最初に呼ばれています。argcにはパラメーターの数が入り、argvの方はパラメーターそのものが入っています。

例えば、UNIXで実行コマンドが
./xxx_test xxx.txt yyy.txt
この場合、argcとargvの値は
  • argc = 3
  • argv[0] = "xxx_test"
  • argv[1] = "xxx.txt"
  • argv[2] = "yyy.txt"

この関数はint値を返さないとならない。この為に、実行成功の場合、メイン関数の最後にreturn 0を追加しないとならない。不正の場合はreturn 1を返しましょう。ちょっと読みにくいと考えた方もいますが、stdlib.hにEXIT_SUCCESSとEXIT_FAILUREと言うマクロがありまして、これを使えば、returnコマンドがreturn EXIT_SUCCESS又はreturn EXIT_FAILUREになります。