おつかれさまでした。さっきまでちょっと倒れて寝てました(0:00すぎ)。知人のサークルで熱射病かなにかで倒れられた人がいて、ちょっと心配です。
結局、寝てない状態でコミケ参加 + 午前中開場歩きまくりまわりしていたせいで、午後は売り子するつもりだったのが、まったく売り子にならず、さらに、あらゆる判断能力が低下している(単純な計算するのにすら一苦労)という状態でしたので、せっかく尋ねてきてくださった皆様への対応がなんかアレだったかもです(大汗)。その場合は失礼いたしました。
とりあえずサークル報告を。「CCLUB別動隊」は午前完売。まあ、数少なかった&安かったですしね。
システム構築に約一週間。(結局それとしてはつかわなかったけど)レーベル発注が金曜。別途お願いしてた、声録りが行われて、素材が全部そろって、ゲームの方向性とかが全部見えてきたのが土曜深夜。徹夜で次々とコーディング&ルール改訂&システム調整とかが行われていって、 PocketPC 版の初コンパイルが行われたのが 6:00。しかもEVT環境が無くなってて、それのインストールからだし(苦笑)。そして、FIXが 6:30。そこからさらに Win用のインストーラ作って、マスターアップしたのが 7:00。焼きに入って、焼き終了が 7:45。で、開場入りは 8:30。さらに会場内で展示デモのコードを組んでしまって、いつのまにかデモがうごいてる不思議。や、飯田&本吉&三上トリオの「神業」をひさしぶりに堪能させてもらいました。つーか、超文化祭ノリすぎ>今回の別動隊。次はもすこし計画的に……。なお、今回の私の仕事は、発注調整、印刷物作業、焼き作業のみでした。全然手伝えなくてごめんね(涙)。それから、素材提供いただいた、 Triumphal Records の皆様、ありがとうございました。一応今回は preview 版ということで、後日きっちり仕切り直し予定です。
「苺電波部」は、マリ見て本は完売。水月本も、9割ほど。委託うけていたひちさとさんのところのマリ見て本も9割ははけて、まずまずの成績でしたとさ。こっちもラストスパートがけっこう大変なことに(苦笑)。おつかれさまでした>Hosさん、づ、けいちゃ。
さて、もう一眠り。当日の詳細などは、また明日にでもちまちまと。
申し込み14日までなのね。
次回の3日目は、同人ソフト、葉鍵、ギャルゲー(PC)、ギャルゲー(CS)、男性向け、創作(少年)、創作(少女)、評論、学漫。ギャルゲー(CS)を3日目にひっぱってきたのかな。で、ちまちましたところが2日目に移動。
追記:がーん。すみません勘違い。今回もギャルゲーCSありました。西に(苦笑)
CM61では、同人ソフト+ギャルゲーPCが西隔離でした。 CM62では、葉鍵が西隔離でした。それぞれ、東西移動がめんどくさいという文句がけかなり出ていたと思います。
もしかして次って、ギャルゲー(CS) + 創作 + 評論 + 学漫を西にもってって、東は、男性向け + 同人ソフト + 葉鍵 + ギャルゲー(PC) という、アレでナニな構成でかためてしまうつもりなんだろうか。便利なんだろうけど、なんとなくイヤだ(苦笑)。人口密度がおそろしいことになりそうだしねぇ……。
追記:どっちゃにせよ、これが実現したらイヤだな(ぉ
変人窟を見てこける(苦笑)
ちょと帰りに秋葉。
虎で最後、お金たりなくてがびーんとかなりかけてポイントでしのぐ(苦笑)
えーと、入手物一覧。
感想はまたおいおい(汗)
小雪会で秋葉、の前にちょっと買い物とか。
GoLive は 5.0 はなにげに活用できてないんだけど(汗)、ちょと、6.0 から入ってるバージョン管理できるという Web Workgrouup Server の挙動が確認したくてげと。
tomcat キタ━(゜∀゜)━( ゜∀)━( ゜)━( )━(゜ )━(∀゜ )━(゜∀゜)━!!!!
や、GoLive6.0 に付属の Adobe Web Workgroup Server をとりあえずインストールして起動してみたんだけど、ブラウザが立ち上がって index.jsp とか開きはじめたので、なにゅ! と思ってインストールディレクトリ覗いてみたら、そこには、いろいろと見慣れたものがが(笑)。
なるほど、なるほどー、ちゃっかり Web Application として実装してあるのかぁ。そう、もちろん、 JRE 入りなのです(笑)。Windows 2000/XP、もしくは、Mac OS 10.1 以降にインストールして使うことができます。コソーリ Solaris とかにもってって動かへんかなと思ったけど、なんか dll とかあるんで、なんとなく無理ぽ。
これ単体で WebServer として使うのではなく、基本的に管理用サーバで、これからさらに公開用サーバに ftp かけてファイル転送するという仕組みのようです。実装は WebDAV で、GoLive に限らず、通常の WebDAV クライアントからもアクセス可能とのこと。ドキュメント管理を、Web Server として実装することの最大のメリットは、最終的に Web 公開される状態のものを直接ブラウザから確認できることですね。
GoLive の売りにバージョン管理があるってことは、これって、もしかして、 RFC3253(Versioning Extensions to WebDAV)をきっちり実装してあるんですかね。ってことは、もしかしてもしかして、subversion クライアントからもたたけたりするのかしらん。逆に、Apache に subversion サーバを導入して、それを GoLive でごりごりってのもおっけーなのかもー。
ああ、楽しそうだ。時間とってちまちま実験してみよう。文字コード問題とかどうやって解決してるのかなぁ。してなかったりして(苦笑)
C言語における main 関数 (プログラム開始処理) の記述ですか。できれば、まず、仕様をあたりましょう。現行のJISは、JIS X 3010:1993 で、これは ISO/IEC 9899:1990 ベースです。追補として、JIS X 3010:1993/AMENDMENT 1:1996 が出てます。C99 ベースの JIS は、今年の3月に改正原案が完成しているようなので、今年から来年にかけて出るんではないかと思います。
プログラム開始処理において呼び出される関数の名前は, main とする。処理系はこの関数に対して,関数原型を宣言しない。この関数は, 仮引数をもたない関数int main(void) { /* ... */ }として定義することも,二つの仮引数をもつ関数int main(int argc, char *argv[]) { /* ... */ }として定義することもできる。
以下、引数を持つ場合の、argv と argc についてつらつら規約がならびます。ということで、int main(void) は ANSI/ISO C ににおける main の正しい記述の一つです。argc/argv を使わないのなら、むしろこの表記をつかうべきでしょう。
C言語においては、関数の引数が無いことを示すには、int main(void) と、きちんと void を入れないと、引数のプロトタイプ宣言をしてないことになります。C++ では、引数無しの場合には何も書きません。それから、ANSI C では、環境変数のための第三引数はありません。 getenv 関数を使います。
ややどーでもいいことですが、個人的に return (0); なんて表記は大嫌いです(苦笑)。return 0; でいきましょー。不要な括弧はさよーなら。
__P() はプロトタイプ宣言をスイッチで排除できるようにするためのマクロです。 BSD のソースコードにおけるお約束ですね。
いくつか反応あったので、せっかくだから逆リンク。
あと頑張って勉強中の Hatanoさんの日記まあ、宗教問題ですな。お仕事だったらコーディングルールに従いましょう。
私の場合は、自分でコードを書く場合には、括弧を入れる場所は、文法上必要な場合(これは当然)、演算子の順序がぱっと見でわかりにくくなるのを防ぐ目的の場合(複雑な判断式、bit演算がまざる場合、三項演算子の左辺が式の場合、sizeof など)、if における警告防止(これは、C 言語においては、私が 0 との判断式を書かない習慣があるため。 Java では書いてるから余分な括弧は無し)、あとはマクロ定義の誤動作防止、と決めてあるので、 return の括弧は無しになるなのです。return に対して括弧をつける積極的理由が思い当たりません。
しくしく。タグ大文字小文字混在だよ。ちなみに原因は、ページ生成用のマクロ建て増しで作っていった結果、古い部分が大文字のままだからだったり。せっかくだから今直しておこう(^^; 直ったかな?
せっかくだから、もうひとつ宗教的話題。
FILE *fp; fp = fopen(ごにょ); if (fp == NULL) { perror("file"); exit(1); }
FILE *fp; if ((fp = fopen(ごにょ)) == NULL) { perror("file"); exit(1); }
どっち?(笑)。NULL判定は ! だって人もいるかと思いますが、ここの観点としては、代入文を if 中に書いてしまうかどうかってことで。ちなみに私は後者です。一応 atomic 的動作を意識した記述。
関連して、三上君は p = (free(p), NULL); とか書くらしい。私はそこまではしてなかったな。普通に free(p); p = NULL; だ。最近は擬似オブジェクト指向化して destroy 処理書くから、some_class *p; ... ; p = some_class_destroy(p); 系の書き方だそうな。 destroy の 帰り値は (some_class*)NULL。なるほど。私は some_class_destroy(p); p = NULL; ってかいてるね。次から真似するかな(^^;