2009-04-04から1日間の記事一覧

デバッグメッセージ用にマクロを定義

基本といえば基本ですが、以下のようなdprintkを定義しておくと、コンパイルフラグを変えるだけで動作確認メッセージのON/OFFができて便利です。 #define __DEBUG__ #ifdef __DEBUG__ #define dprintk(format) \ do{ \ printk("%s:%d" format,__FUNCTION__,_…

/lib/modules/`uname -r`/bulid ディレクトリがない

そんなときは、カーネルのソースのディレクトリのルートで sudo make-kpkg linux_headers して、linux-headersのdebパッケージを作り、インストールすればよい(確認済)。と思ったけど、よくみると ls -la /lib/modules/linux-2.6.28.9/ ... build -> /usr/sr…

GCCのプリプロセッサの動きをみて遊ぶ

ruby-libvirtのソースコードを読んでいたら、何やら怪しげなマクロが。 67 #define generic_get(kind, v) \ 68 do { \ 69 vir##kind##Ptr ptr; \ 70 Data_Get_Struct(v, vir##kind, ptr); \ 71 if (!ptr) \ 72 rb_raise(rb_eArgError, #kind " has been free…