#includeの扱い
#include <hoge .h> のように、ファイル名を山括弧で囲むと、処理系で定められたやり方でファイルが検索される。 たいていのコンパイラでは、標準ヘッダファイルの格納された特別なディレクトリが検索さ…
#include <hoge .h> のように、ファイル名を山括弧で囲むと、処理系で定められたやり方でファイルが検索される。 たいていのコンパイラでは、標準ヘッダファイルの格納された特別なディレクトリが検索さ…
getopt() getopt_long() getopt_long_only() とかを使えば楽になるかと。 上記の関数を使う場合は、 unistd.h getopt.h のインクルードを忘れずに。
すぐ忘れるのでメモ。 単純にまとめておくと ・gets()の方が速い ・scanf()の方がフォーマットを高度に指定できる 俺の中で入力関数といえば、なぜかscanf() はじめて習った関数だからかなぁ。 つーか、int…
TCPは順番保証がある。 ので、送った順で受信できる(内部的には後から送ったのが先についている場合もある)。 でも、並列処理の場合はどうなるん? 送信時にシステム時間とかを見てて、複数プロセスから送信した場合でも、複数プ…
■変数の共有について 親プロセスと子プロセスの変数は別物扱い。 双方の変数内容変更が他方に影響を及ぼすことはない。 ■ソケットの共有 親と子で同一のソケットを利用してサーバと通信することは可能。 サーバ側からみると一つの…
うーむ、挙動が謎だな。 スレッドならまだなんとなくわかるんだけど。 forkを呼び出した時点で処理がどこに移るんだろ? 子プロセスができるのはわかるんだけど、子プロセスって親プロセスとまったく同じプログラムを立ち上げると…
acceptでクライアントからの接続を受けてから、forkするようなプログラムの場合、複製時には親と子の両方に、アクセプトソケットが保持されてるわけだけど、同一のアクセプトソケットを使って、親と子の両方からクライアントに…
子プロセス終了時に親プロセスに対して、SIGCLDが送られるので、それを親がsignal関数で受け取った後にwaitを実行する事で、子プロセスのリソースを解放する。 waitだけだと、多数の子プロセスがほぼ同時に終了した…
forkはプロセスを複製するということは、ほぼ理解した。 でも、これだと親子でソースコードを共有することになるんで、子専用の処理を長々と記述すると、なんか美しくないと思ったんだけどちゃんと解決策があるみたいですね。 子プ…
selectで標準入力を拾えるのはわかってたけど、もしかして標準出力も拾えるのか? select文の前で、 ってやると表示されない・・・。 だけど ならばOK。 ちなみに でも表示される。 nの有無で変化するってことは、…
最近のコメント