すがブロ

sugamasaoのhatenablogだよ

C言語

SIGNAL を受信する(2)

前回の続き 前回(SIGNAL を受信する - @sugamasao.blog.title # => ”コードで世界を変えたい”)があんまりにも投げっぱなしだったので、補足しておく。 シグナル後の動きを分かりやすくする為に、少しプリント文等を追加している。 ソース #include <stdio.h> #inclu</stdio.h>…

SIGNAL を受信する

SIGNAL を受信するには 昔は signal 関数を使ってシグナルハンドラを設定していたけど、今は sigaction 関数を使うようだ。 参考 システムプログラム(第5週) 試しに実装してみた 大概の SIGNAL のサンプルソースだと、シグナル受けたよーで終わるのが多い…

syslog に書き込んでみる

syslog 経由でログを出力 ターミナルから書き込むには logger コマンドを使うと書き込む事が出来る。 logger -t sample hoge こんな風にすると、 Mar 10 01:52:56 siegfried sample[761]: hoge こんな風に出力される。 -t xxx の部分がプロセス名が出力され…

daemon を作る

POSIX標準ではないが、 daemon 関数があるので、お手軽に作成できる daemon 関数は man 3 daemon とするか、404 - エラー: 404を参照のこと。 ちなみに、引数に 0 を渡した時の動作は書いてあるけれど、それ意外の場合・・・例えば、カレントディレクトリを…

GDBを使ってみる(2)

GDB でポインタとか覗きたい覗きたい! サンプルとしてこんなプログラムを作った。これを作るだけで30分以上掛かったおれ涙目*1。 1 #include <stdio.h> 2 3 void copy(char* string, char* out) { 4 int i; 5 for (i = 0; *(string+i) != '\0'; i++) { 6 *(out + i) </stdio.h>…

GDBを使ってみる

ちょっとコマンドラインデバッガを使いたくなった IDEを使うのが許されるのは小学生までらしいのでコマンドラインでやってみる。 ここで GDB を触っておけば Ruby でも似たようなノリでデバッグできること請け合いですからして、これはとても有意義な挑戦で…

C言語から Ruby を呼びたい><

C言語がメインで、サブルーチンとして Ruby を呼びたいのです パフォーマンスを出したいので C 言語で実装したい。だけど、利便性を考えて少し Ruby のライブラリを読んで処理を噛ませたい! http://www.sb.soft.iwate-pu.ac.jp/~yushi/memo/ruby_ext.html …