1 名前:ftp-data mailto:sage [2007/08/07(火) 01:47:35 ] 主にソケットに関しての質疑応答スレッドです。 Programming UNIX Socket FAQ (日本語訳) www.kt.rim.or.jp/~ksk/sock-faq/indexj.html Winsock Programmer's FAQ (日本語訳) www.kt.rim.or.jp/~ksk/wskfaq-ja/ 関連リンクは>>2-10 辺り 足りなかったら適当に付け足してね 前スレ ネットワークプログラミング相談室 Port19 pc10.2ch.net/test/read.cgi/tech/1159692799/ 関連スレ Java ネットワークプログラミング 【教えて!】 pc11.2ch.net/test/read.cgi/tech/1086238859/
296 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 09:52:08 ] そんなことは聞く前にソケットFAQ読め。
297 名前:292 mailto:sage [2007/10/24(水) 10:14:48 ] >>293 あっそうか、SYN,ACKを受け取ったらwrite可能になるか。
298 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 10:59:21 ] FAQくらい理解してから、人にアドバイスしよう。 www.kt.rim.or.jp/~ksk/sock-faq/unix-socket-faq-ja.html 3.3 なぜ、サーバが accept() する前に connect() が成功するのですか?
299 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 11:05:01 ] >>298 それってpassive openでしかも単にソケットをuser landにacceptで渡す タイミングの話しでしょ? 289の質問はactive openだから全然話しが違う。
300 名前:デフォルトの名無しさん [2007/10/25(木) 00:56:29 ] サーバー用のソケットは socketでソケット作成 bindでポート番号とかに結びつける listenで聞く??? acceptでクライアント接続を待ちの後 交信用ソケットにクライアント対応を任せ新しいクライアント接続待ち みたいな感じだと思うのですがlistenの必要性?がいまいちわかりません listenの引数をみてもソケットと最大コネクション数という感じであまりいい仕事?してるようには見えません どーしても必要ならsocketかacceptで最大コネクション数とやらを指定するようにすればよかったんじゃないのかなーと思ってしまいます listenがlistenとして独立していて幸せと感じるのはどのようなときなのでしょうか?
301 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 06:54:40 ] ソケットを接続待ちの状態にするためにlistenは必要。 第二引数は最大コネクション数ではなくて、キューの数だった気がする・・・ 要は一気に接続要求が来たときに待ってもらう数な。
302 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 10:23:58 ] データを送信した時に全データが送られないってことがあるじゃないですか。 これを明示的に起こさせる、起こしやすくするには、どうしたらいいですか? どんな設定をしたらいいですかね? setsockoption関数?で送信バッファを1に変えても変化なかったんですよね・・・ 全データ遅れなかった時の動作が確認できないんです・・・
303 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 11:47:12 ] >>300 listen で実際にサーバのポートを開く。 socket -> bind -> connect っていう手順もありうるので、bind だけではまだポートが開いてない。
304 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 11:50:48 ] >>302 受信側の受信バッファも小さくしてみたら? あと、受信側が recv しなければ、そのうちバッファが一杯になって送れなくなる。 1秒に1バイトずつちまちま recv するようにしてみるとか、どうかな。
305 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 11:52:46 ] >>304 回答ありがとうございます ちょうど今自己解決しました 送信データを1バイトずつSendしたらなりました
306 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 15:37:11 ] nagleを切ればいいだろ
307 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 21:17:23 ] >>306 やっぱり、全然無理でした。 どうやったらできるんだろ? カーネルの送信バッファとsetsockoptで設定するバッファって同じことを指してるんでしょ? 送信バッファ 30バイト、送信データ100バイトとした時 send関数を使うと、戻り値が30と返ってくるって思ってるんだけど間違ってる?
308 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 21:19:18 ] ちなみに サーバをIOCPで実装しています。WSASend, WSARecvを実行しています
309 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 21:19:54 ] だから正確にはsend関数は使ってません
310 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 23:37:18 ] TCPのチェックサムって計算 仮想ヘッダ+TCPヘッダ+ペイロードだよね? 仮想ヘッダとTCPヘッダはいいけど ペイロードってどこまでなの? HTTPとかTCPの下になんかプロトコル付く場合 だけ計算みする
311 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 23:45:01 ] >>310 > ペイロードってどこまでなの? 全部(もしデータが奇数だったら1バイトの0x00を付加)
312 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 03:14:59 ] >>307 TCP/IP の下の NDIS (パケットドライバ)あたりが、パケットの非同期送信を また別んとこのメモリの許す限りキューイングしてくれるから、そこいらへんは あんまりあてにならない。
313 名前:デフォルトの名無しさん [2007/11/02(金) 15:00:24 ] winsockでTCPでプログラミングをしているのですが、 たまに接続が上手くいかない時があります。 connect()を実行しても、タイムアウトになってしまいます。 一度プログラムを終了して、再度connect()したら普通に接続できます。 上手く行く時とそうでない時があるのですが、どのような事が原因として考えられるでしょうか?
314 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 15:07:17 ] たまたまサーバや回線が混雑してて繋がらなかったとかじゃないか WSAGetLastErrorでエラーの詳細を確認しる
315 名前:デフォルトの名無しさん [2007/11/02(金) 15:16:06 ] >>314 connect()のエラーは10060でした。 多分タイムアウトだと思うのですが・・・。 while(SOKET_ERROR){ connect(); } のような感じにしていて、常に10060が返って来ます。 ネットは色んなHPを見て回れるので混雑してるとかではないと思います。 ↑のループをずっと繰り返している間に、新しくクライアントのプログラムを作ってサーバに接続を試みたところ、 普通に接続が出来たので、サーバが原因ではない事は分かってます。
316 名前:デフォルトの名無しさん [2007/11/02(金) 15:31:53 ] connectに失敗した場合、closesocketをして、再度ソケットを作成、サーバのアドレスの設定等を行い、 その後またconnect()を実行する事で、サーバに接続する事は出来ました。 しかし最初にconnect()に失敗する前のsocket()関数は正常に終了しており、sockaddr_in構造体の設定も間違ってません。 connect()が失敗した際に行う再設定は、全く同じ内容のものなのですが・・・ 一体何が原因なのでしょうか・・・。
317 名前:デフォルトの名無しさん mailto:age [2007/11/02(金) 15:43:53 ] videointroplayer.web.fc2.com/?qNwShNJEoik147%+mLB7Dx21F8r143%+4xdtm5JqwQi401%+m85hSceZi1I563%+8f5dPn0_ZJL484%+@1@_AutomaticPlay
318 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 14:28:53 ] サーバは何?誰がどうやって作ったもの?
319 名前:デフォルトの名無しさん [2007/11/03(土) 18:07:41 ] サーバは自分で作りました。これもC、Winsockで作ってます。
320 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 19:35:35 ] >>316 connectのエラーコードは何だよ。それくらい書けばいいのに。
321 名前:デフォルトの名無しさん [2007/11/03(土) 19:50:06 ] >>320 >>315
322 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 19:59:43 ] >> 316 九割九分九厘名無氏作蟲
323 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 20:09:08 ] >>316 タイムアウトだから、>>314 が言っているような感じなんじゃね? 起きている事象として把握できているのが、10060だけだと考えるのはキツイかも。 回線の種別(loopback、外部への接続)とか、connectの頻度とか、 connectがエラーになる接続先は常に同一なのかとか、その辺はどうなのだろう? あと、クライアントとサーバと両方を自分で作っているのなら、connectと acceptの数や時刻をログ出力して比較してみるとか。 いくつか考えうる要因をピックアップして調べてみては?
324 名前:デフォルトの名無しさん [2007/11/03(土) 20:25:01 ] >>323 しかし、connect()に失敗したら再度connect()を実行するような設計にしています。 回線の混雑が理由だったら、いつかは接続できそうな気が・・・。実際はこの状態になるといつまでも10060を返し続けます。 また、10060を返してる間に、他のクライアントプログラムを実行しサーバの同じポートにconnect()を実行したら普通に接続できました。 もちろん同じPCからです。また、10060を返した後にソケット破棄⇒再生成してconnect()を実行すると接続できるので、 どうもネットワークの混雑という理由は考えにくいような気がします。とはいえ、ネットワークの問題は原因が特定しにくいので、 完全にそうではないとは言い切れないです。 connectの頻度はそう多くないのですが、まずサーバに接続し、その直後にもう一つ接続を作ります。 この2つ目の接続でconnect()エラーが発生します。2つ目の接続はファイルの送受信用のソケットで、スレッドを立ててそちらで処理しています。 なのでacceptとconnectの数は2回ですね。
325 名前:デフォルトの名無しさん [2007/11/03(土) 20:40:58 ] もしかして、connect()を短い間隔で2回やってるのが原因なのかなと思って、 2回目のconnect()をする前にSleep(200)を挟んで何度か実行したところ、 connect()でのエラーはなくなったように思えます。(まだ試行回数が多くないので分からないですが) 短い時間で連続してconnect()を実行した場合、何が起こるんですかね・・・?
326 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 21:14:09 ] 2MSL だろ
327 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 21:19:35 ] サーバのOSはWinXP ProとかHomeだったりするのかい
328 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 21:24:36 ] >>325 ファイアウォールのログは確認しておいてね。
329 名前:デフォルトの名無しさん [2007/11/03(土) 22:26:00 ] >>326 winsockの仕様というよりも、TCPの仕様ですか・・・。 でも通信をクローズしてないのに関係あるんですかね? 全然詳しくないので何ともいえないですが・・・ >>327 OSはWinXP HomeEdition ver.2002 SP2です。 >>328 火壁のログの確認・・・ググってきます
330 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 22:37:40 ] >>324 まずは、ネットワークトレースを見てからだ。 10060なら、syn、syn-ackがどうなっているか確かめようぜ。
331 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 22:45:35 ] Linux使いなのでコード等よくわからんが、 ネットワークプログラミングのデバッグならパケットキャプチャだ。 WindowsならWiresharkがあるはず
332 名前:デフォルトの名無しさん [2007/11/03(土) 22:54:04 ] Wiresharkだったらこの間入れたはず。 でも、英語だらけで使い方がよく分からずに放置した記憶が・・・! syn、ackってTCPの3wayHandshakeとかの話ですよね? そんなところまで見れるとはなんと便利なソフトなのだろうか。 とりあえず使い方から調べなおしてちゃんと根本から問題解決するか・・・
333 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 23:15:51 ] 333ゲット
334 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 23:22:26 ] ところでみなさんGUIのネットワークプログラムを作るときは 非同期ソケットでスレッド1本派 同期ソケットでマルチスレッド派 のどっちですか?
335 名前:デフォルトの名無しさん [2007/11/03(土) 23:34:09 ] なんとかパケットキャプチャは出来たけど、実際見てもよく分からないという現実! kjm.kir.jp/pc/?p=45801.png No.10-12が多分最初の接続ですね。その後のポート5000がファイル送受信用の接続です。 ポート番号については突っ込まないで下さい>< 最後の方で色々とsynとackを送りまくってますが、ここら辺がソケット破棄して再設定してconnect()してるあたりですかね・・・。 俺の知識じゃ、これ見て でっていう レベルなんですが・・・
336 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 23:41:58 ] よくわからんがNo.30とNo.50の 192.168.0.185:3739 -> 192.168.0.186:5000 に185が応答していないように見えるが。 ファイル送受信用、と言われても・・・そんなの話に出てきてないから・・・
337 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 00:01:32 ] XP Homeはサーバ用途が制限されていたような
338 名前:デフォルトの名無しさん [2007/11/04(日) 00:01:49 ] >>336 >>324 で一応書いたつもりでしたが、ちょっとゴチャゴチャして見にくかったですねm(_ _)m 多分34、50、63のSYNを送ってサーバからの応答がないままタイムアウトになって、 ソケット破棄、ソケットの再生成と再設定⇒connect()が67で、その後の応答とかが68、69で 接続が確立してるっぽいですね。それ以降のものはファイル送受信のパケットだと思います。 見る限り、サーバからのACKが返ってこないようですが、クライアントからのSYNは送られてるんですよね。。。 サーバにそれが届いてないか、サーバに届いてるけど、サーバが送り返してくるSYN,ACKが途中でパケットロスしてるのか・・・。
339 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 00:11:49 ] >>338 ポート5000からの応答が無いな。そっちを調べるしかないだろ。
340 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 00:13:42 ] >>335 ポート5000ってのはナンダヨ。サーバー側のプログラムが悪いんじゃないのか。
341 名前:デフォルトの名無しさん [2007/11/04(日) 00:29:10 ] >>340 ん、どういう事ですか?あまり49151以下の予約済みポートは使わない方がいいって事ですか? とりあえずサーバ側のプログラムを再度見直してみます。
342 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 00:34:25 ] >>334 ケースバイケースだろ。
343 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 01:49:58 ] netlinkの使い方を日本語で詳しく説明してるサイトないかな? Manpage of NETLINK以外で
344 名前:デフォルトの名無しさん [2007/11/04(日) 06:18:34 ] サーバ側が、50000番の接続要求に反応しない理由を調べたほうがいい。 1.サーバ上で、50000番への接続受付が満杯 2.サーバ上で、50000番がまだ再利用可能ではない(サーバ上で、netstatして50000番の状態を調べれ) 4.サーバが再起動した 3.パケットロスが発生してる(ローカルネットワークじゃ考えにくいと思う) 1,2,3,4の順で可能性は高いと思う
345 名前:323&328 mailto:sage [2007/11/04(日) 07:14:35 ] >>341 ファイアウォールのログは見てみた? SYN floodか何かに判定されてコネクション要求がファイアウォールで破棄されていないかな、 と思ったんだが。 …もしかして、俺、考えている方向ずれてる? そうだとしたら、すまん。 クライアントとサーバのプログラムにログ出力を付け加えて、コネクションの確立の 様子を見るのもあり。connectやacceptの前後といった場所に、printf()で良いから 付け加えて、クライアントとサーバの両方の処理がどのように、どこまで出来ているのか 確認するってことで。
346 名前:デフォルトの名無しさん mailto:age [2007/11/04(日) 07:56:09 ] youtubetv.atspace.com/?Lof5N8D6NMI0747@TokyoDisneySeaBraviseamoHDV
347 名前:デフォルトの名無しさん [2007/11/04(日) 09:14:42 ] FreeBSD上でプログラムを組んでいて不思議な事に出くわしたので相談します。 IPアドレスを入力し、そのアドレスのネットマスクを取得するプログラムを組んでいますが、 ICMP_MASKREQを使って取得しています。しかし、AlliedTelesisのL3スイッチではきちんとICMP_MASKREPLY が返ってくるのに、CISCOのルータやPCだと応答がまったく返ってきません。 これはプログラムミスか、単にCISCOのルータがRFCに準拠していないのか・・・ どうでしょうか?意見をお願いします。
348 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 10:52:27 ] >>347 > CISCOのルータ Firewallで捨てられてるとか? ルーターのicmpカウンタをチェック。 > PCだと ホストは必ずしも答える義務無し。
349 名前:デフォルトの名無しさん [2007/11/04(日) 11:22:08 ] >>348 ヒントありがとうございます、CISCOルータにて、ip mask-reply コマンドでMASKREPLY を有効にしたところ期待通りにプログラムが動きました、デフォルトでno ip mask-reply になっているようです。 PCでは答える義務無しですか、残念。 SNMP以外でネットマスクを取得する手段を考えていたのですが・・・ 考え直してきます。
350 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 11:48:20 ] >>349 > SNMP以外でネットマスクを取得する手段 MASKREQUESTって聞いているホストが使うべきマスクを問い合わせるのに 使うのでしょう? 問い合わされたホストのマスクを返すのではなくて。 昨今はDHCPで取得される情報なのでほとんど使われない機能。
351 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 11:52:28 ] RFC1812はデフォルトで答える事をMUSTにしてるので、お前が設定したのだろう。
352 名前:デフォルトの名無しさん [2007/11/04(日) 12:23:40 ] すれ違いで申し訳ないんですが、 googleでXXXを検索。 のように、webページに引数を渡す?みたいな事ってどうやればうまく できますか?
353 名前:デフォルトの名無しさん [2007/11/04(日) 12:34:23 ] >>350 勘違いしていました、指摘ありがとうございます。 たしかにそうですね・・・、実験で確認がとれました。 MASKREQUESTで問い合わせたアドレスのネットマスクを取得する考えは根本から間違ってました。 >>351 ルータ初期化して試してみましたが、デフォルトでno ip masu-replyになってました。
354 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 12:37:34 ] ヒント:URI、クエリ、GET要求
355 名前:デフォルトの名無しさん [2007/11/04(日) 13:53:11 ] >>354 ヒントありがとうございます! 大変助かりました!
356 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:15:27 ] >>353 iosのバージョンとかにもよるんじゃないの。 デフォルトのイメージが書き換えられてる場合もあるし。
357 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:16:09 ] おまいら、IOSとかCiscoの製品使える? やっぱネットワーク系のプログラム組んでる人間としてCCNAぐらい取っておくべきかな?
358 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:19:54 ] そんな暇あったら、カマー本やスティーブンス本読破すれば? 基本的な知識あれば、ルータ設定くらい簡単だよ。
359 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 14:46:40 ] 自分の力に自信が無くて 資格を求めてるんだろ。 取るのを勧めてやるのが優しさだよ。 もっとも俺ならプログラムなんてもう辞めろと言うけどね。
360 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 20:27:40 ] >>351 RFC1812が書かれた当時とは実情が変わるなんて良くあること。 ciscoのマニュアルによると。 ip mask-reply To have the Cisco IOS software respond to Internet Control Message Protocol (ICMP) mask requests by sending ICMP mask reply messages, use the ip mask-reply command in interface configuration mode. To disable this function, use the no form of this command. Defaults Disabled <<<<<< コマンドが導入されたのはIOS 10.0。
361 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 22:27:16 ] プログラマからみたIOSっていうとXMLみたいなもんだからなぁ
362 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 18:17:05 ] 全然違うぞw
363 名前:デフォルトの名無しさん [2007/11/10(土) 13:29:28 ] IPv4かIPv6かわからないときgetaddrinfoを利用し調べる方法が ttp://ja.wikipedia.org/wiki/IPv6の下のほうに書いてありました Windowsではws2tcpip.hに宣言がありました getaddrinfoへ渡したaddrinfoのai_addrを利用し、IPv4かIPv6のアドレスを取得すると思われるのですが ai_addrの型はsockaddrでその定義はwinsock2.hにしかなくそれは以下のようになっていました struct sockaddr { u_short sa_family; /* address family */ char sa_data[14]; /* up to 14 bytes of direct address */ }; これだと8*14==112で、IPv6アドレスを表すための128bitに足りないような気がするのですが思い違いでしょうか?
364 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 13:37:49 ] sockaddr_in6にキャストしてつかうんじゃね?
365 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 13:41:07 ] sockaddr sockaddr_in sockaddr_in6 でググれ
366 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 13:44:34 ] FTPの同時接続数とレスポンスをまとめたサイト知ってる方います? 並列は3回線くらいがいいのかな・・・
367 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 15:40:26 ] 環境によって違う。 >>363 もっとCの勉強した方がいい。
368 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:09:19 ] 計算もできない馬鹿がいるって 聞いて飛んできました どこどこ? u_shortが8bitってどんな頭してるんだよw 染んでこいよw
369 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:12:03 ] >>368 顔から火を噴きながらとんでけ
370 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:30:01 ] 氏ねとは言い過ぎだが レベルの低いやつは質問しない されても無視するようにしないか?
371 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 19:57:12 ] さすがに今ではshortが8bitってことはほとんど無いが・・・ 逆に16bitであり続ける理由も無いな
372 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:00:28 ] そう考えると結構恐ろしいんだよな プロトコルにつかう構造体はバイト単位じゃなくて オクテット単位か出来ればビット単位で定義すべきなんだよな
373 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:09:49 ] Cには2進表記すらない。 0b1_01110_00
374 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:10:40 ] >>371 殆どない、じゃなくて、規格上ありえませんが。 16bitより大きい可能性はあるけど。
375 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:14:32 ] 現実を知らず 教科書しか読まない奴は レスしない方がいいよ。
376 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:16:45 ] >>375 アホ表明ですか。毎度ご苦労様です。
377 名前:375 mailto:sage [2007/11/10(土) 20:18:34 ] >>376 俺はあほじゃねーよ 落ちこぼれなだけだ糞が
378 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:31:08 ] せめてageたら?(藁
379 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:10:59 ] >>374 いやいや、あるよ。規格上でも char≦short≦long なだけだし。 intに至ってはもっとひどい
380 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:14:39 ] 規格ではshortは-32767〜+32767を保証してなかったっけ?
381 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:20:41 ] >>380 ISO/IEC 9899によるとちゃんとその規定があるな つか規格読んでもshort intとshortの区別がつかねぇ・・・ longとlong intの違いって何? long long ago; ってそういうギャグを実現したかっただけ?
382 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:30:51 ] >>379 バカまるだし shortは16bit以上、longは32bit以上が必須
383 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:37:59 BE:1262592386-2BP(250)] どの規格のC? てかCじゃなくてC++?
384 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:40:46 ] 5.2.4.2.1 Sizes of integer types <limits.h> も読んだことない奴は黙ってろよ、ボケが。 www.jisc.go.jp/app/JPS/JPSO0020.html で X3010 な。
385 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:40:44 ] >>382 >longは32bit以上が必須 さすがにこの嘘はオレでも見抜く
386 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:43:06 ] ずっと384のターン
387 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:54:57 ] 知らないことは恥ではないし、バカにされる理由もない。 誰もが最初は知らないんだし、少なくとも俺は知らないという理由ではバカにしない。 恥なのは、知らないくせに知ったかぶって間違いをさらすこと。 嘘を言いふらして、周りにも迷惑をかけるし。
388 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:56:24 ] C89より昔のCプログラムはネットにつなぐな氏ねってことですかそうですか
389 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:57:45 ] もし>>379 と>>385 (と>>371 )が別人だったら笑える。 こんなにも恥さらしが何人も居るとは。
390 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:58:21 ] >>387 あんまり384をいじめるなよ
391 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:01:41 ] もしかして、>>387 と>>384 が同一人物だと思っているのですか?
392 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:03:37 ] >>388 発端となった>>371 は、「今では」と言っているので、昔の話は関係ありませんね。 「今のCの規格」で、shortのサイズが決まっているかどうかですよ。
393 名前:デフォルトの名無しさん [2007/11/10(土) 22:08:30 ]
394 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:09:21 ] >>392 昔の規格が使用禁止になったわけじゃないしなぁ。 ていうか、使用禁止にしてほしい。マジで。頼むよ。
395 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:14:06 ] 新規格を出せば後は野となれ山となれ
396 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:16:54 ] ふと思ったんだけど、C99ってみんなもう適用してる?