[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 07/15 20:46 / Filesize : 200 KB / Number-of Response : 834
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.35【環境依存OK】



1 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 21:36:23 ]
エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。
※sageは禁止です。
【前スレ】
【初心者歓迎】C/C++室 Ver.34【環境依存OK】
pc10.2ch.net/test/read.cgi/tech/1169039760/
【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

652 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 21:19:45 ]
違う順番で解放されたらスタックじゃないしな

653 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 21:25:42 ]
>>652
そういう意味じゃないだろー。

654 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 21:57:37 ]
スタックだからこそじゃないんですか?

655 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:01:17 ]
実行順を保証しないと困る事があるからだ。
依存し合ってる場合とか。

そもそも、自動変数がスタックで実装されるかどうかなんて
規格で決まってないっしょ?

656 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:15:12 ]
入門書に載っていたサンプルコードをそのまま写してコンパイルしてみたのですが、
kouza.hの6行目で「宣言の構文エラー」と表示されます。
1ファイルにまとめれば正常にコンパイルされるのですが、どういった問題があるのでしょうか?
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3759.zip
ソースはこれです。

657 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:48:30 ]
>>649でスタック上って言ってるからスタック前提の話かと思いました

658 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:51:13 ]
>>656
kouza.cppとmain.cpp両方で、多重対策してないkouza.hをインクルードしてるせいで多重定義になってるだけじゃないの?

659 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:58:24 ]
>>648
オブジェクトA・B・CとプッシュされたものはC・B・Aと取り出される
プログラムの関数もスタックを使って実装されてる

660 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 23:42:22 ]
ソースファイル上で関数宣言の後などに
LFが挿入されているのをよく見掛けるんですが
これってどういう意味があるんですか?

void hoge(int piyo)
{

}
^L

みたいな感じ



661 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 23:44:44 ]
そんなの見た事ない。
文字コードの違う環境でいじったんじゃね?

662 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 00:22:40 ]
>>660
LF(^J)なら必ず入るだろ、改行コードだから。
FF(^L)なら改ページコードとして入れるという習慣が一部にあるらしい。
プリンタに出力したときに関数単位で出力されることを期待しているのだろう。

663 名前:656 mailto:sage [2007/03/20(火) 00:33:27 ]
>>658
kouza.cppの中身(「#include"kouza.h」以外")をkouza.hに移して試してみたのですが、
依然エラーは消えないままです。
main.cppの方に移しても同様なので、原因は別のところにありそうです。

664 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 00:42:40 ]
具体的にはどのようにコンパイルしているんだ?

665 名前:656 mailto:sage [2007/03/20(火) 02:05:14 ]
>>664
Cpadでコンパイル時パラメータの欄に
main.cpp kouza.cpp kouza.h
と入力した状態でコンパイルしています。

666 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 03:16:34 ]
>>665
Cpadは使った事無いけど、ヘッダーファイル(kouza.h)も指定しないといけないの?
Visual C++ 2005EEとg++ 4.1.2で普通にコンパイル通ったよ。


667 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 06:37:45 ]
>>656
CPadってBorlandC++Compilerだけだっけ?

↑なら
bcc32 main.cpp kouza.cpp で正常にコンパイルできたけど

668 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 06:50:51 ]
パラメータの入力順が違うだけだったりな
kouza.h kouza.cpp main.cpp とか

669 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 07:16:51 ]
ヘッダをC言語としてコンパイルしているので、classでエラーが出るという落ちでは

670 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 07:25:43 ]
>>663
そんなことしても多重対策にはならんわいw



671 名前:656 mailto:sage [2007/03/20(火) 15:43:42 ]
みなさん回答ありがとうございます。無事に解決することができました。
>>666
kouza.hを外したらコンパイルが通りました。
以前にヘッダも指定した時はたまたま上手くいったので、
それが正しいと思い込んでしまっていました。

>>670
kouza.cppの中身を移してkouza.hとmain.cppだけをコンパイルすれば
対策ではなく、そもそも多重定義が起こらないと思ったのですが・・・
何か自分が勘違いしてるかもしれません。申し訳ないです。


672 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 16:02:45 ]
>>662
^LはFFなんだね.首でも吊ってくるよ
勉強になった dクス

673 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:31:41 ]
>>650-651
久しぶりに職場にお泊りしてしまった
遅くなったけど、ありがとう 

674 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 15:21:56 ]
windowsでMSTPサーバを使用して、メール送信してますが
outlookで、メール送信することできるでしょうか?

APIかコマンドラインから使うことできれば、便利なんですが。
よろしくお願いします。

675 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 15:24:56 ]
Outlook Expressのことなら知らない。
OfficeのOutlookなら、VBAでできるかやってみろ。
それでできたらC++でもできる。

676 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 17:26:27 ]
>>675
レス感謝です。
検索して、しらべてみます。

677 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 18:05:11 ]
>>674
メーラーを外部から操作するためのMAPIというAPIがあり、Outlookは
対応しているが、ある時点で(XPのSP2だったかな?)、セキュリティ絡みで
非常に強い制限が課せられるようになったはず。
送信が許可されてたかどうか。

678 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:20:23 ]
済みません、int から byteヘとか
そのまた逆にする場合はどうしたらいいでしょうか?
ググッたんですがJavaやC#は見つかったんですけれども
C++が見つからなくて
初心者の質問で済みません



679 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:22:50 ]
CやC++にはbyteなどという型は存在しないのでintからbyteにする方法などはありません

680 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:27:08 ]
あっそうなんですか
そうすると今使ってる
byteはwinやTurbo C++の環境なのかな...orz
もうちょっと調べてみます



681 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:33:12 ]
typedefでしょ?
castすればいい。もちろんcastの動作を理解した上でやってね。

682 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:42:53 ]
byteとcharって、どの程度違うの?

683 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:43:22 ]
有り難う御座います、castの知識曖昧な所が多いので
勉強しながらやってみます


684 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 18:02:02 ]
>>682
charはコンパイラによって符号ありだったりなしだったりするが
BYTEは大抵は符号なしcharのtypedef
byteはシラネ

685 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 18:47:47 ]
>>678
static_cast
おそらくbyte→intのように、扱える範囲が広くなるほうへは使わなくても平気。

Cとの互換を保つため実は狭くなる方へもキャスト無しで行けるが、キャスト使っておけ。
エラーにできないもんだから、みんな警告を出す。

686 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 19:20:44 ]
有り難う御座います
やってみます

687 名前:デフォルトの名無しさん [2007/03/23(金) 05:44:57 ]
質問です。
tableと言う配列があったとして
ループ部分で、前の値を計算式に含める場合。スマートな方法は無いのでしょうか?
具体的には

int table[128],res[128];
for(int i=0; i<128; i++){
res[i]=table[i-1]*5;
}
こういった式の事です。
このままでは、1回目のi=0の時に負の値が添え字に与えられてしまいます。
int i=1だと、res[i-1]としなければならず、なんとも気持ちが悪いものです。
一般的にはこのようなループはどのように対処するものなのでしょうか?イディオム的なものはあるのでしょうか?

688 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 05:51:26 ]
>>687
res[0]には何入れるの?


689 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 06:19:26 ]
>>687
int * dest = &res[0] ;
int * src = table[-1] ;

for ( ; dest != &res[128] ; ++dest, ++src )
{ *dest = *src * 5 ; }

あるいは、

std::copy( &table[-1], &table[127], &res[0] ) ;


>>688
悪魔が入ります。

690 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 07:31:31 ]
>>689
> int * src = table[-1];
おまえ正気かいな



691 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 07:37:29 ]
>>689
それ何の解決にもなってないだろ

692 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 08:28:34 ]
>>687
>res[i-1]
結局行き着くのはここ
それで気持ちが悪いとか言ってたらC/C++なんてやってらんねぇよ

>>689
そんなにアクセス違反とか領域破壊とかしたいのかおまいはw

693 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 13:44:09 ]
添え字に飽和減算マクロを使えばおk

694 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 17:51:14 ]
>>687
res[i-1] はコンパイラによって (res-1)[i] みたいに
なることが多いので気持悪く思う必要はない。最初から
(res-1)[i] とも書けるけどこれは規約違反。


695 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 19:41:22 ]
>>694 強い電波をキャッチしました。

696 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 20:06:10 ]
>>694
(res-1)[i] <-> *(res-1+i) <-> res[i-1]

resがポインタ型なら常にこれらは等価。
規格にもなんら違反していない。

697 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 20:19:32 ]
694自身もしくは694の職場でのコーディング規約なのでは?

698 名前:デフォルトの名無しさん mailto:age [2007/03/23(金) 20:30:38 ]
ついでに言うと(-1+i)[res]でも同じだな。キモ過ぎるなこれ。

>>694はポインタ同士の演算(減算を除く)が不正であることと
混同してるんじゃないか?

699 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 21:41:50 ]
>>687
for( int i=1; i<128; i++){
res[ i - 1 ]=table[ i ]*5;
}
じゃダメなの?

700 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 21:57:26 ]
それ意味変わってね?



701 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:03:48 ]
>>698
さすがにそんなコードは書かないけど、
C言語におけるポインタとはどういうものかを知るには
素晴らしい例だと思う

702 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:09:57 ]
>(-1+i)[res]
の解説キボンウ

703 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:13:46 ]
例えば res[i-1] ってのは
(resが指し示すアドレス)と(添え字=この場合ならi-1)
との単なる加算を行い、そのアドレスが保持している値を返す。
数字が前に来ようが後に来ようが両方に来ようが
加算の結果は変わらないので指し示すアドレスも変わらず、
よって問題は起こらないと

704 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:14:01 ]
>>702
解説面倒だからポインタがなんであるかの勉強してこい

705 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:15:49 ]
>>702
a, bの片方がポインタ型で他方が整数型である場合、a[b] は *(a+b) に等しい。

706 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:18:12 ]
>>702
(-1 + i)[res] ⇔ *(-1 + i + res) ⇔ *(res + -1 + i) ⇔ res[-1 + i] ⇔ res[i - 1]

これ書いていて思い出した。CもC++も規格では
配列の先頭要素〜最後の要素を1つ越えたところの範囲外を指すポインタの存在すると
プログラムの挙動が未定義になる。694が規約違反と言っているのはこのことだ。
www.kouno.jp/home/c_faq/c6.html#17



707 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:19:56 ]
目からぬるぽでした
解説あんがとさんでした

708 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:55:03 ]
無料でC++使える環境は?.NET使えなくていいから

709 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:56:42 ]
cygwin, mingw gcc

710 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 23:01:17 ]
>>708
VC++EE



711 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 23:01:44 ]
>>706
なるほど。C FAQをもう一度読み直すとするか…。

712 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 01:23:19 ]
>>707
目にガッしていいの?
目にガッって、やっていいの?


BCC

713 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 01:24:49 ]
>>706
どうでもいいけど日本語がおかしい。

714 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 01:41:55 ]
デバッグ出力なんかだと、時折り"NULLPO"[ga]なんてのも使うよね。
#流石にga["NULLPO"]とはしないけど。

715 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 01:48:48 ]
俺はテストデータに"いろはにほへとちりぬるぽ"とか使う。
最初は反応してくれる人が居たけど、最近は誰も反応してくれなくなった。
いいかげん、次のネタを考えんといかん。

716 名前:デフォルトの名無しさん [2007/03/24(土) 02:17:01 ]
分割コンパイルをやってて、
コンパイルすると「外部シンボル”○○(自分で定義した関数)”が未解決です」
ってでるんですが、俺はどうしたらいいですか?


717 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 02:18:23 ]
>>716
コンパイラエンジンの使い方を勉強すればいいと思います。

718 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 02:27:23 ]
>>716
コンパイルだけじゃなくてリンクまでやっちゃってるから。
それはリンカが出してるエラーメッセージ。

719 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 03:13:58 ]
変数の命名に関して質問です。
メンバ変数の末尾に"_"をつけているソースをよく見ますが、
これはシステムが利用している変数名とは被らないのでしょうか?

自分で調べたところ、_xや__xや_x_はダメだという記述は
見られましたが、x_に関しての記述はなかったもので。

720 名前:716 [2007/03/24(土) 03:20:22 ]
>>717-718
こんな質問に答えてくれてありがとうです。

このエラーを解決するにはどうすればいいですか?
一通りググってみたけど、いまいち理解出来ませんでした。
質問ばかりですいません。



721 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 03:26:47 ]
>>719
末尾なら良いんでないでしょうか。
俺はアンダースコア(アンダーバー)で終わる変数名は
つけないけど。

722 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 03:29:57 ]
>>719
末尾についてるのは大丈夫。ただし C++ では末尾でも(途中も含めて)二重なのはダメ。

723 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 03:31:20 ]
>>720
○○が定義されているオブジェクトファイルもリンカに渡せ。

724 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 03:33:17 ]
>>720
まず、お前自身が自分がなにをやってるのか正確に理解する必要がある。

フツーのコンパイルなら一度に全てのソースをコンパイルしリンクを行う。

分割コンパイルの場合は一部のソースのコンパイルだけ行う。
リンクは全てのソースのコンパイルが完了している任意のタイミングで行う。

で、お前の今の状況だが、大きく二つのケースに分かれると思う。

ひとつはコンパイルだけ行えばいいタイミングでリンクまでやっている。
( 通常、コンパイラは"コンパイルのみを行う"という指示がない場合、勝手にリンクまでやっちゃう。 )

もうひとつはリンク時に必要な( ソースファイルをコンパイルして生成される )オブジェクトファイルが
全部そろってない、あるいはオブジェクトファイル自体はあるが、リンカに渡っていない。

725 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 03:36:07 ]
>>720
ヘッダで関数宣言だけしてあるけど、
中身の定義が見つからんてことだよ

726 名前:716 [2007/03/24(土) 03:59:33 ]
どうやら自分は何がしたいのかが理解できてないようです。
取り敢えずもう少し勉強してみます。
こんな時間におさがわせしました

727 名前:デフォルトの名無しさん [2007/03/24(土) 04:01:15 ]
まあそう言わずに思いのたけをぶつけてくれたまえ。

728 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 04:15:14 ]
>>726
具体的にどんな環境でどんなふうにコンパイルしてるのか、詳しく教えてくれれば
多分、ちょっとしたことでうまくいく問題だぞ。

729 名前:429 mailto:sage [2007/03/24(土) 04:17:10 ]
>>430-444
ありがとうございます。

質問してたの忘れてた(汗
遅レススマムコ

730 名前:デフォルトの名無しさん [2007/03/24(土) 04:22:44 ]
#define って そのソースファイル内でしか適用されんの?

また同じ #define をソ−スごとに書かないと駄目なの?



731 名前:デフォルトの名無しさん [2007/03/24(土) 04:27:33 ]
>>730
プリプロセッサだもの、そりゃそうでしょ。
いっぱい書きたくなかったらヘッダに書けばおk。

732 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 04:28:34 ]
同じ #define を複数箇所に書くとかあまりにも意味がないw

733 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 04:32:25 ]
>>730
コンパイルオプションで指定するならソース上のどこにも書かなくていいよ。

734 名前:デフォルトの名無しさん [2007/03/24(土) 04:34:19 ]
>>731
ヘッダに書いてインクルードさせれば使えるの?


735 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 05:04:18 ]
#includeは単なるファイルのコピペ指令だ
気張る必要はないよ

736 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:37:31 ]
>>732
それそのまんまマイクロソフトに言ってやれ

737 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 10:03:11 ]
一応VC++でのコマンドラインからのコンパイルとリンクの仕方を
msdnから抜粋しといた。必要ないから、俺は使ったこと無いけど

コマンド ラインで、オブジェクト ファイル FIRST.obj と SECOND.obj が作成される。

CL /c FIRST.C SECOND.C

実行可能ファイルを作成するには、LINK を呼び出す必要があります。

LINK firsti.obj second.obj /OUT:filename.exe



738 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 11:19:57 ]
WinXP、MinGW-5.1.3を使ってます。
10E13位の実数を扱いたいんですが、float型やdouble型で宣言しても
warning: integer constant is too large for "long" type
というエラーが出てしまいます。どうすれば解決できるでしょうか。

739 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 11:22:20 ]
コード書け

740 名前:738 mailto:sage [2007/03/24(土) 11:27:25 ]
これだけなんですが。
float na;
long nb;

na = 100000000000;
nb = 1000000000;




741 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 11:29:05 ]
double f[] = {100000000000000., 10e+13};

742 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 11:30:28 ]
>>740
それはlongリテラルだもん

743 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 11:33:42 ]
>>740
小数点でも書いとけばいいんじゃないの

744 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 11:34:11 ]
エラーメッセージのまんまだな。
longリテラルではなく浮動小数点リテラルとして認識させればいいだけ。

745 名前:738 mailto:sage [2007/03/24(土) 11:36:04 ]
宣言はできましたが、数値を代入したら同じエラーが出てしまいました。
代入するには
f[0] = 100000000000;
でいいんですか?

746 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 11:36:32 ]
>>740
na = 100000000000.0f;

つーか10E13ってそういうことか
てっきり0x10E13かと思ってたわ

747 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 11:40:24 ]
>>745
だからdoubleリテラルにするために小数点かeつけろよ

748 名前:738 mailto:sage [2007/03/24(土) 11:48:23 ]
代入する数値に.を付けて
f = 100000000000.;
としたら解決しました。ありがとうございます。

749 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 11:55:31 ]
>>737
-cオプション与えなければclでexeを直接生成できるよ。

cl -o foo.exe first.c second.c
でよい。

ま、普通は(Makefileを使うような場合は)-cオプションつきでobjを
作った後で結合するけどな。

750 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 12:18:51 ]
C++版のgetch()ってありますか?



751 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 12:25:29 ]
ない。そもそもgetchは標準関数ではないのだからC++がどうこう言う話ではないだろ

まあ、conio.hがある環境なら#includeしとけば使えると思うよ

752 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 12:34:29 ]
標準じゃなかったんですね・・・
回答ありがとうございました






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<200KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef