タグ

ブックマーク / kernelhack.hatenablog.com (2)

  • GCCのプリプロセッサの動きをみて遊ぶ - big-eyed-hamster’s diary

    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 freed"); \ 73 return ptr; \ 74 } while (0); 75 シャープだと!しかも2つだと!見たことないぞ! というわけで引数マクロについてちょっと実験してみました。 基的な引数付きマクロ まずは基的な引数マクロ。 1 #include <stdio.h> 2 3 #define test_puts(hoge) \ 4 do { \ 5 hoge

    GCCのプリプロセッサの動きをみて遊ぶ - big-eyed-hamster’s diary
    toton
    toton 2009/09/01
  • 初めて読むMASMはとっても良い本。 - big-eyed-hamster’s diary

    私の所属する研究室内では、Linuxカーネル読書会なるものをやっている。教材は詳解Linuxカーネルの第3版。このは-読んでみると分かるが-x86依存の話が非常に多い。スケジューラの話のあたりになると、Gnu Assemblerなどという暗号(!)でガシガシ書いてあるので、もう訳がわからない。この辺のソースコードの様子は、id:naoya さんのLinux カーネルのコンテキストスイッチ処理を読み解くを見ていただければ分かると思う。そうなってくると、必然的にx86の副読を買わねばならぬ、となるわけだが、x86を知らない人がいきなりはじめて読む486―32ビットコンピュータをやさしく語るを読むと、多分多くの人が挫折してしまうだろう。というか、私がした。確かに良い(だと思われる)んだけれど、前提知識が足りないと、所々でつまってしまって、読むスピードが落ちて、あああ、、、僕はダメな子だ、、

    初めて読むMASMはとっても良い本。 - big-eyed-hamster’s diary
    toton
    toton 2009/01/08
    これからマシン語やCPUの構造を勉強する人は、「はじめて読むPentium」「はじめて読む8086」「はじめて読むMASM」「はじめて読む486」の順で読むのが良いだろう
  • 1