C/C++

Windows の C で Guarded Suspension パターンを実現する (条件変数を実装する)

マルチスレッドプログラミングをしているときに、「ある条件が満たされているかどうか調べ、満たされていなければ条件が満たされるまで待機する」 という処理が必要になることがあります。 このような処理はパターン化されており、『増補改訂版 Java言語で学…

Windows 上に C/C++ 開発環境を構築する #1 (MinGW のインストール方法)

Windows 上で C/C++ の開発を行う際にどの C/C++ コンパイラを使用するかというのは 1 つの悩みどころです。 Windows 専用のアプリケーションの開発を行うのであれば Microsoft Visual C++ でいいと思いますが、できるだけ Unix/Linux 環境に近い状態にした…

C において配列へのポインタと配列長を 1 つの構造体にまとめる

C では (malloc 関数などによりメモリ領域を確保した場合の) 配列の長さを知る事は難しいと思います。 そのため、関数の引数として配列を渡す場合などに、初歩的な教科書ではよく配列へのポインタと同時に配列の長さを渡していると思います。/* 配列長 */ si…