C言語なら俺に聞け(入門編)Part 116
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/06/14(金) 20:22:05.73★前スレ
C言語なら俺に聞け(入門編)Part 115
http://toro.2ch.net/test/read.cgi/tech/1368444993/
★過去スレ
http://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++の宿題片付けます 164代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
# サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/C/C++の宿題片付けます 165代目
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0713デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANそれより開発を続けていく
スレッドの作成は置いておいて、まずはキューの実装から行っていく
昨日書いた通りキューはいくつかあるが、まずはゲームスレッドと通信スレッドの間のキューを実装していこうと思う
キュー用のバッファはグローバルとして定義しておき、
ここに追加・取り出しをする
昨日の説明通り、4byteのヘッダに続いて様々なbyte数のデータが続くが、どのような実装がよいだろうか?
0714デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANゲームスレッド→通信スレッドの場合、
char queue[4*1024];
としてキュー用のバッファを確保しておくとする
ゲームスレッドは書き込み位置を記憶するためのポインタchar *w;をもっており、
通信スレッドは読み出しの位置を記憶するためのポインタchar *r;を持っている
そして書き込み/読み込みが終わったときに、次の書き込み/読み込み位置をw/rに保持する
当然起動した瞬間は、queue=w=rであり、キューに追加されてw>rとなった時点で読み出しが行われる
但し、このバッファは使い回すため、w<rとなる可能性もあり、読み出し条件はw!=rとしたほうがよいと思われる
また読み出しが追い付かない場合、キューに溜まっているデータが確保したバッファサイズを越えた瞬間重大なエラーを引き起こす
C言語でのキューの実装はこれでいい?
■ このスレッドは過去ログ倉庫に格納されています