プロセスグループ

プログラム中で新しいプロセス(子プロセス)を生成して処理を行う際、メインプロセスから子プロセスを終了させるのは kill() で簡単にできます。
しかし、子プロセスが更に孫プロセスを生成した場合、孫プロセスをメインプロ ...
readdir() とシンボリックリンク

ClockRadio で音楽ファイルの検索を、readdir() を使って dirent で行っていました。ところが、dirent 構造体では、シンボリックリンクは、リンク先の情報ではなく、リンク自体の情報しか得られません。 ...
PHP の割り算

C 言語などでは、整数同士の割り算の結果は、整数になります。3 ÷ 2 の結果は 1 になります。
ところが、PHP の結果は浮動小数になるので、3 ÷ 2 の結果は 1.5 になります。この結果は C 言語などに慣れ ...
標準出力と標準エラー出力をプログラムで読む

プログラム内で外部コマンドを動かし、その結果を受け取ろうと思いました。このような時は、popen() を使って、外部コマンドの標準出力を読むことが出来ます。
ところが、今回動かそうとしたコマンドは結果を標準エラー出力に ...
SDL2 で画像データをプログラムに埋め込む

SDL2 で、画像データをプログラム内に持ち、それを表示してみます。
空のサーフェスを作成して、そのサーフェスにデータをコピーします。色深度は 32 ビットにします。
画像の RGB データを作成今回は簡 ...
SDL_gui を公開

SDL2 で GUI 部品を使えるようにするプログラムを公開しました。
よく調べると、同名のライブラリが Github にありましたが、C++ で作られていることと、日本語の情報が殆どないのでどう使えばいいのかよくわか ...
SDL2 でラジオボタンを作る

結局、チェックボックスを応用すればそれほど難しくないので、ラジオボタンも作りました。
円の表示は以前作ったものをそのまま使いました。
ラジオボタンのグループは、ラジオボタンに設定する変数で区別することにし ...
SDL2 でメッセージボックスや確認ダイアログを作る

GUI 画面を作ると、メッセージボックスや確認ダイアログを使いたくなります。SDL にはダイアログはないので、これも作らないと実現できません。
SDL2 から複数ウィンドウが扱えるようになり、X11 であれば、Util ...
SDL2 でテキスト入力ボックスを作る 2

ASCII文字(1 バイト文字)は、キャレットの移動や、文字削除はうまく行きましたが、UTF8 文字は判定しないといけないので処理が複雑になります。
まず、UTF8 の 1 バイト目の上位 4 ビットでバイト数がわかり ...
SDL2 でテキスト入力ボックスを作る 1

テキスト入力ボックスを作ります。日本語の入力も出来るようにするには、SDL_StartTextInput() で入力を開始し、SDL_StopTextInput() で終了するらしいです。
SDL_StartTextI ...