2020年6月29日のブックマーク (2件)

  • Linuxカーネルで学ぶC言語のマクロ - 覚書

    はじめに 記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。それらのうち、凝ったマクロになじみの無い人には初見では意図がわからない&わかってみれば面白いであろうものをいくつか紹介いたします。対象読者は、C言語のユーザだけれども、マクロは定数定義くらいにしか使わないというライトなマクロユーザです。 マクロを使用する場所に依存するエラーを防ぐ 次のマクロは、二つの引き数の値を置換するだけの単純なものです。 #define swap(a, b) \ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) 注目すべきはマクロの定義全体を囲んでいるdo { ... } while (0)という表記です。初見の人には何のことかわからないと思います。考えられる最も単純な定義から遡って、なぜこ

    Linuxカーネルで学ぶC言語のマクロ - 覚書
    strow0343
    strow0343 2020/06/29
    マクロは便利だけど可読性はしんどいしコンパイルエラーがカオスになりやすい。チーム全員がC言語を熟知しているなら有りだけど
  • はてぶの(特定の記事の話ではなく全般的な傾向として)ブコメトップ10とかさ..

    はてぶの(特定の記事の話ではなく全般的な傾向として)ブコメトップ10とかさ、 君らいつまで「お前を消す方法」とか、戦闘妖精雪風だ!とか電脳コイルがーとか「昔ならこれはドワンゴがやってただろうにねえ」とか言い続けるつもりなの

    はてぶの(特定の記事の話ではなく全般的な傾向として)ブコメトップ10とかさ..
    strow0343
    strow0343 2020/06/29
    どの年齢層がマジョリティかを考えれば当然では(無論他のネットコミュニティも)。若年層メインのコミュニティを見たいならTikTok行くか若年層寄りのTwitterクラスタを探すしかないかな