- 1 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/30(金) 21:01:32.89 ]
- C言語の入門者向け解説スレッドです。
★前スレ C言語なら俺に聞け(入門編)Part 99 toro.2ch.net/test/read.cgi/tech/1331786500/ ★過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 156代目 toro.2ch.net/test/read.cgi/tech/1328276597/ ★C++言語については避けてください。C++対応明記スレへどうぞ ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 長くなりそうなコードはcodepadに貼り付けてもいいでしょう codepad.org/
- 565 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 22:50:14.48 ]
- >>557
> create_hogeとかalloc_hogeにしたほうがいいと思うけど create,alloc,init(ialize),newなどは好みだけど hoge_createやhoge_allocのほうがいいと思うな。
- 566 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 22:52:23.06 ]
- create_hoge = hogeを作れ
hoge_create = hogeが作る
- 567 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/17(火) 22:59:51.50 ]
- 合成語として考えるなら hogecreate でもおかしな順序ではないよ。
伝統的には create_hoge の方が主流に思えるのは確かだけど…。
- 568 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:01:43.59 ]
- めんどくせぇからnewつかえるのに移れよ
- 569 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:04:43.68 ]
- namespace 的な考え方すりゃ接頭辞を共通にしたほうが分かりやすい
- 570 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/17(火) 23:06:34.62 ]
- >>565
俺の好みでは確保したメモリの構造を見せる場合には alloc と free で ハンドルとして扱ってもらう場合には create と close って使い分けな感じ。
- 571 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:06:39.12 ]
- うん
- 572 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:08:09.28 ]
- >>567
gtk_init Py_Initialize lua_open SDL_Init
- 573 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/17(火) 23:10:48.08 ]
- >>572
そのあたりは API としての性格をもったものだから区別が必要じゃないかなぁ。
- 574 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:14:23.02 ]
- allocateとinitializeをallocate関数でやるのはどうかと思うの。
- 575 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:27:45.93 ]
- >>573
じゃぁ 組み込みではなく生成したインターフェースが NAME_newな形になるCSTLはどう? create_hoge より hoge_create のほうが扱いやすいと思うよ 補完しやすいし。
- 576 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:32:59.54 ]
- C++じゃ
オブジェクト.メソッド なんだが、お前らオブジェクト指向言語使わんの?
- 577 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:37:05.61 ]
- どーせ ファクトリ.create_hoge vs ファクトリ.hoge_create になるよ
- 578 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:37:50.58 ]
- >>576
ンなの聞いてねーよks スレタイすらも読めないのかよ池沼 ヒャッペン音読して出直せバカ
- 579 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/17(火) 23:41:04.09 ]
- >>575
マクロを使って生成しているとは言え、それも CSTL というライブラリが提供している API っていう気もする。 ただ、いずれにせよ上述の「主流に思える」というのはそうでもないかな、という気がしてきた。
- 580 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/17(火) 23:58:47.15 ]
- >>575
補完しやすいというのは疑問があるぞ。 構造体とそれに対する操作の組を名前にするわけだろ。 だとすると hoge_ まで入力したときの候補は create_ まで入力した候補より分量が多くなる。 補完候補は少ない方が良いと考えると create_hoge の方が補完しやすいと言えないか?
- 581 名前:デフォルトの名無しさん [2012/04/18(水) 00:19:00.97 ]
- 個人的にgimpソースハックしたときに、関数名の冗長さには苦労させられたわ
GtkWidget *scale; scale = gimp_prop_spin_scale_new (config, "brush-size", _("Size"), 0.01, 1.0, 2); gimp_spin_scale_set_scale_limits (GIMP_SPIN_SCALE (scale), 1.0, 1000.0); gimp_spin_scale_set_log_mode (GIMP_SPIN_SCALE (scale), TRUE); 終始こんな調子の長い名前で変数や関数が羅列されてる。 処理的には大して高度なことしてないのに、パッチ当てるべき箇所を探すだけでも、妙に疲れる。 経験的実感として、全体が長い名前ばかりなコードは、明らかによみずらい。妙な疲労感を伴う気がするわ。 関数は gmp_set_scale() や gmp_new_scale() 程度の10文字程度の長さが最も読みやすいと経験的に感じる。これ以上長いと短期記憶を余計に消費して疲れるし、これ以上短いと意味が不明で疲れる。
- 582 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 01:10:33.43 ]
- そしてその命名ルールを守ってもGIMPほどのモノは作れないという不思議w
- 583 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 01:32:30.77 ]
- >>579
単なるモジュールプレフィクスだよ。 関数名が被らんようにと言うのが主目的で、操作対象を表すわけじゃない。 せいぜいどのモジュールに属する関数かという程度。 モジュール外部と結合する意味でAPI的と言えるだろうけど、 CSTLが提供している云々は関係ないな。 外部結合だから出力の命名規則がそうなってるだけだ。 なんで、意味合いが違うのは同意なんだけど、Cの世界じゃ モジュールに分けたらプレフィクス付ける方が主流だと思うよ。
- 584 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 02:07:17.52 ]
- >>580
ない。
- 585 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/18(水) 13:09:12.05 ]
- >>583
俺は API 的というのを広い範囲で、外に公開する名前くらいの意味で言ってた。 言葉の使い方を除けばだいたい認識は一致していると思う。
- 586 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 20:03:47.61 ]
- >>582
gimpって規模は異常に巨大だけど、徹底的にコードを単純な書式にして、モジュール化も徹底してるおかげで 局所単位でいぢれるし、局所単位で見ればそれほど超高度なことをしてる箇所は少ないので、意外と改造できるのでハック初心者の練習におすすめ。 とにかくコード書式が、これでもかというほど単純なように徹底されてる。 関数中で使う変数の宣言は、必ず関数の先頭位置で行うようになってるし、 GtkWidget *scale; scale = gimp_prop_spin_scale_new (); を GtkWidget *scale = gimp_prop_spin_scale_new (); と書くことすらしない。徹底的に一行の情報量を減らすというアプローチで書かれてる。 一見すると過剰な程にコードが簡易化されてるが、そのおかげで、所見でもある程度読める。ただし全体の行数は膨大。
- 587 名前: ◆QZaw55cn4c mailto:sage [2012/04/18(水) 21:38:55.50 ]
- >>586
>GtkWidget *scale; >scale = gimp_prop_spin_scale_new (); >を >GtkWidget *scale = gimp_prop_spin_scale_new (); >と書くことすらしない。 auto変数の初期化すら嫌いな -pedantic な人たちなのでしょう、多分。
- 588 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 21:46:14.13 ]
- GTK自体の仕様がよくわからん…
- 589 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 21:49:24.30 ]
- っていうか
関数スコープの途中で変数宣言できるようになったのってC++が出てきてからじゃね? 1行の情報量を減らすってのはなるほどなぁとは思う。
- 590 名前:デフォルトの名無しさん [2012/04/18(水) 22:12:00.57 ]
- 関数スコープとか・・・またまた香ばしいw
- 591 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 22:13:38.56 ]
- ブロックの先頭以外、でいいのにね
- 592 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 22:24:29.30 ]
- 関数スコープは荒れる
- 593 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 22:36:08.96 ]
- うん
- 594 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 23:32:26.55 ]
- 関数スコープの宿命だな
- 595 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 23:33:08.58 ]
- 関数スコープの宿命はよ
- 596 名前:デフォルトの名無しさん [2012/04/19(木) 00:02:06.72 ]
- 言うなら PG の、C 使いの宿命を言ってみな
- 597 名前:デフォルトの名無しさん [2012/04/19(木) 00:45:13.12 ]
- お前が関数ポインタの宿命を言ったらな。
- 598 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 00:51:23.99 ]
- C++のソースがCのソースに変換されたのを見て、ショックを受けた、口
- 599 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 00:54:48.71 ]
- C++のtry-catch構文って、Cのソースに変換すると、どんな記述になりますか?
- 600 名前:589 mailto:sage [2012/04/19(木) 00:57:41.83 ]
- catch, finallyブロックのアドレスを順番にスタックに積んでいって
割り込みハンドラーが呼ばれたら順番にそれを呼べば良いんじゃね?
- 601 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 00:58:47.42 ]
- 無理じゃね
- 602 名前: ◆QZaw55cn4c mailto:sage [2012/04/19(木) 01:02:45.86 ]
- >>599
www.nurs.or.jp/~sug/soft/super/longjmp.htm
- 603 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 01:04:11.92 ]
- 関数ポインタならできるんじゃね?
- 604 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 01:04:55.24 ]
- >>600 >>602 情報どうもです、結構複雑になるんですね
- 605 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 01:30:15.28 ]
- 前処理におけるエラーについての質問です。
#if (TESTDEF == 1) aaa(); #else bbb(); #endif 上の例では TESTDEF が 1 だったら、aaa() を実行して、 そうでない値のときには bbb() を実行してくれることを期待して記述し、そのように動作します。 しかし TESTDEF が未定義の場合にも bbb(); が実行されてしまいました。 てっきり未定義エラーのようなものが発生すると思ったので驚きました。 上記のようなことをする場合に、 TESTDEF が未定義である場合にコンパイルエラーとする方法はありませんでしょうか?
- 606 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 01:33:19.91 ]
- #if (ISSET_TESTDEF == 1)
ccc(); #else ddd(); #endif なるプリプロセッサを延々と書き連ねる
- 607 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 01:35:44.19 ]
- >>605
#errorを使う。 codepad.org/YkpizD6p
- 608 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 02:15:29.40 ]
- >>606-607
やはり前処理1行だけで判断させてエラーにするのは難しそうですね。 >>607のコードのやりかたで自分でエラー行を書く方法で考えてみます。 ありがとうございました。
- 609 名前:デフォルトの名無しさん [2012/04/19(木) 02:38:18.42 ]
- ふざけた野郎だな。
- 610 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 03:05:07.76 ]
- >>606がだよな。いみわからんし
- 611 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 03:28:31.23 ]
- #ifdef TESTDEF
#if (TESTDEF == 1) aaa(); #else bbb(); #endif #endif
- 612 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 04:13:03.33 ]
- プリプロセッサには elif 構文あるんだけどな
- 613 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 04:44:52.45 ]
- この時どうするかいい方法が思い浮かばんかった。
#include <stdio.h> #define TESTDEF void aaa(void) { fprintf(stdout, "aaa\n"); } void bbb(void) { fprintf(stdout, "bbb\n"); } int main(void) { #ifndef TESTDEF #error "not defined TESTDEF." #elif TESTDEF == 1 aaa(); #else bbb(); #endif return 0; }
- 614 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 04:59:40.34 ]
- mfcなんですが、何故か?値が代入されません
for ( i=0; i<opetbl.recv_len; i++ ){ recv_dt.data[i] = (unsigned char)opetbl.recv_data[i]; } と言う文が有ったのですが・・・ 同じ様に・・・ for ( i=0; i<opetbl.recv_len; i++ ){ recv_dt.data[i] = (unsigned char)opetbl.recv_data[i]; dainyuu_data[i] = (unsigned char)opetbl.recv_data[i]; }
- 615 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 05:00:01.66 ]
- と、入れてみました。上の方は値がちゃんと代入されるのですが
同じ事をやっている下は代入されません・・・ 変数の宣言は、グローバル変数で宣言しました int dainyuu_data[RECV_LENG]; 一方、値が代入される変数は、 union を使い、やっています。 union U_recv_dt { unsigned char data[RECV_LENG]; }; メモリの設定とか、必要なのでしょうか?
- 616 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 05:15:43.14 ]
- >一方、値が代入される変数は、
recv_dt のこと? dainyuu_data は int の配列 recv_dt は unsigned char の配列 代入されているかの検証で 元データを文字列と期待し printf にて先頭アドレスを渡したとすると、異なる出力になるのは当然だと思うが 配列の index 総なめで、個々に出力してみたの? (printf("%d\n", daynyuu_data[i] ってこと)
- 617 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 05:50:29.80 ]
- fprintf(stderr, "dainyuu_data = %p\n", dainyuu_data);
で代入時、参照時にdainyuu_dataのaddress確認してみたら? 異なると思うよ。
- 618 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 06:06:59.39 ]
- >>616
>>617 有り難うございます。 >dainyuu_data は int の配列 recv_dt は unsigned char の配列 unsigned char の配列でも試してみましたが、駄目でした。 >総なめで、個々に出力してみたの? (printf("%d\n", daynyuu_data[i] ってこと) デバグモードのブレークポイントで配列の中を確認しました。 入っていない様です、また画面に表示も出ません(値は0です) 返信有り難う御座います・・・ 疲れたので寝ます・・・
- 619 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 07:04:42.88 ]
- おやすみ、ムーニーマン
- 620 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 10:10:58.61 ]
- 下の代入文は本当にfor文の中に入ってるの?
- 621 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 10:45:52.19 ]
- デバッガ使ってて分からんぐらいだから、他のスレッドにリセットされたことも考慮しないとだめかもね
- 622 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 10:59:41.13 ]
- うむ
- 623 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 11:13:08.28 ]
- グローバル以外にもdainyuu_dataという名前の配列があるとか。
- 624 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 19:20:12.59 ]
- そうだよ
- 625 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 22:17:47.25 ]
- 次の方どぞ
- 626 名前:デフォルトの名無しさん [2012/04/19(木) 23:03:21.29 ]
- 宿命はよ
- 627 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 17:55:05.45 ]
- C++の基本〜標準を学校で学びましたが
C言語を独学で勉強できますか?
- 628 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 19:03:38.06 ]
-
できます。具体的には以下の通りです。 「C実践プログラミング」 でCの文法、make、gdbなど、基礎を習得 ↓ 「C言語ポインタ完全制覇」 or 「秘伝C言語問答 ポインタ編」 でポインタに関して完全理解する ↓ 「エキスパートCプログラミング―知られざるCの深層」 でスタック、ヒープ、リンカ、ローダなど周辺知識を習得 ↓ 「C言語によるオブジェクト指向プログラミング入門」 で大規模プログラムの作り方を学ぶ ↓ 「C言語デバッグ完全解説」でバグに強いプログラムの記述法をマスター ↓ 「Code Complete(上)(下)」でより良いC言語プログラムとは何かを各人で考察する ↓ 神の誕生
- 629 名前:デフォルトの名無しさん [2012/04/20(金) 21:55:24.56 ]
- -神の誕生
+土方の誕生
- 630 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:39:06.55 ]
- ゲーム作るには最低どのくらいの知識が必要なのよ
- 631 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:44:57.75 ]
- 歩く前に歩くことをやめる人間には無理
- 632 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:45:39.31 ]
- 何の知識だよ
- 633 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:49:01.61 ]
- 最低でも四元数
あとはUI関連の古典 誰のためのデザイン でも読んどけ プログラム知識だけで面白可笑しく作れるとか思ったら そいつはアホ
- 634 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:51:05.14 ]
- 誰がゲームを面白おかしく作れるための知識がほしいって書いてんの?
- 635 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:53:06.67 ]
- 面白くもおかしくもない一流のクソゲーでも作りたいのかwww
いやそういう知識なら俺は知らんよw
- 636 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:58:50.78 ]
- ゲーム作るのには四元数は必須だよな。俺もそう思う。
どんなゲームでも絶対使うもん。マインスイーパとか。
- 637 名前:デフォルトの名無しさん [2012/04/20(金) 22:59:23.41 ]
- >>630
それはおまえさん自身が決めることだ 少しでもマシンの動かし方を憶えたら こんなことできないか? とアイディアから始めるんだ 必要な知識はそれによって決まる ゲームプログラマってのはコンピュータのプロではなく 遊びのプロであることを片時たりとも忘れてはならない
- 638 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:06:59.79 ]
- そんなもんディレクターとかデザイナーの話だろ
プログラマとは別
- 639 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:08:07.03 ]
- 質問者はスレチともどうとも取れない感じだったのに、回答者が全力でスレチってどういうことなん。
しかも超偉そう。
- 640 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:10:55.97 ]
- ゲームプログラマは、無能な企画の脳内にあるイメージを口頭でのわずかな情報で再現する能力が必要
- 641 名前:デフォルトの名無しさん [2012/04/20(金) 23:18:05.79 ]
- ディレクタやデザイナになりたければ
そこそこの組織に入るにはどうするかが問題となる で、面接でくだんの質問をしたらまず祈られるだろう スレチとか言っている連中はそこがわかってない 内容的に1人で勝負できる人がスポンサーをつのる様相がわかってない
- 642 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:23:36.78 ]
- ああごめん。たしかに俺わかってなかった。
スレチじゃなくて板違いだったね…
- 643 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:30:38.38 ]
- (白黒4階調の初代ゲームボーイで)フルカラー出してくれ。
と企画から言われた時は、ハードウェアのマニュアルをそいつに投げ付けた事は良い思い出。
- 644 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:40:30.49 ]
- インベーダーの仕様や白黒TV用カラーガラスでも投げ返されると面白いんだがな
- 645 名前:デフォルトの名無しさん [2012/04/20(金) 23:41:01.13 ]
- 色のにじみでハードの定義にない色を出していたのも良い思い出
通信路の定義の違いまで何とかできてしまったのは無知のおかげで今の俺なら発狂してた そこそこの組織にいる人ならハード担当と癒着でない仲の良さを大事にする
- 646 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:43:00.93 ]
- >>645
その時代の話、結構興味あるので、酉とかつけてもらえますか?
- 647 名前:デフォルトの名無しさん [2012/04/20(金) 23:44:55.59 ]
- さんずいがねえなあ
- 648 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:50:13.31 ]
- じゃあ酒あげるんで、レスの1行目に
〜おじさんの楽しい昔話〜 ってつけるようにしてもらえませんか
- 649 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:51:23.08 ]
- 〜おじさんの楽しい昔話〜(板違いじゃないよ!)
でもいいです。あと、もしおばさんだったらごめんなさい。その場合はおばさんと表記を改めていただけるようお願いします。
- 650 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:52:54.49 ]
- ゲ板にでもスレ立てたら?
- 651 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:55:05.77 ]
- ほんとだよな。
- 652 名前:デフォルトの名無しさん [2012/04/20(金) 23:58:48.56 ]
- そりゃごっつぁん、でマダー?tntn
1行目がどうのって意味わかんねえし セクハラ野郎は嫌いだぜ
- 653 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 00:03:29.27 ]
- レスを抽出してまとめて読めるからだよ
- 654 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 00:04:05.35 ]
- 興味ない人はNG設定できる副作用もあるよ。
- 655 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 02:09:25.93 ]
- >>628
ありがとうございます
- 656 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 02:09:28.86 ]
- MPIってモッピーと読むと言われたが冗談ですよね?
- 657 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 02:15:53.72 ]
- >>655
それコピペ
|

|