共有
  • 記事へのコメント28

    • 注目コメント
    • 新着コメント
    その他
    ZuiUrs
    “container”

    その他
    kaz_hiramatsu
    hashtableやrbtreeも同じ発想で書かれてて、継承とかSTLなしで汎用データ構造を作ってるのは凄いって思った記憶

    その他
    tekimen
    C言語のソースを読んでいると、度々出くわす長年の謎が解けた…

    その他
    Haaaa_N
    c++を使いたい…とまではいかなくても,今はコンパイラのインライン展開が賢いから普通に関数定義にして良さそう

    その他
    richard_raw
    黒魔術だ……。/さっそく、何もしないマクロ定義を利用させていただきます。

    その他
    mas-higa
    最初からつまずいた。do{ }while(0) 昔どっかで見たけど忘れてた。今まさに { } で囲んだだけのマクロがあるわー。if - else で使うとコンパイルできないのも再現してたのに、思い出せなかったわー。

    その他
    dekasasaki
    懐かしいねえ

    その他
    ystt
    ystt 黒魔術だ。

    2017/03/03 リンク

    その他
    i43s
    マクロという切り口からいろいろな内部構造の解説にもつながって面白い

    その他
    chokovi
    初見だと分けわからない部分

    その他
    n314
    数行のコードが難解だけれど強力っていうのは関数型言語みたいな楽しさがある。

    その他
    matsumoto_r
    良いまとめ。カーネル読む事おおいからか結構普通に使えていた

    その他
    dslvan
    do whileはCERT C コーディングスタンダードでもあるのでセキュリティ的にも大事→http://www.jpcert.or.jp/sc-rules/c-pre10-c.html

    その他
    junglejungle
    そうそう。トークンの連結はデバッグが困難になるんだよな。エラー吐いた関数がgrepで出てこなくなる。

    その他
    s331m
    知っておきたい

    その他
    psfactory
    linuxカーネルで学ぶC言語のマクロ - Qiita

    その他
    karaage
    ほえー、知ってると今後の人生で1回くらいは役に立つかもw

    その他
    nopipi
    マクロの"do { } while (0)" 構文エラーを回避するためだろうと何と無く思ってたけど、事例での説明でやっと理解。

    その他
    sgo2
    コンパイラ付属の各種ヘッダファイルも、こういった黒魔術の入門用におすすめ。

    その他
    masa8aurum
    `do { ... } while (0)` は要は do の意味

    その他
    dirtjapan
    そういやcontainer_ofみたいなのをgdbでcoreから追ってく時って大変なんだけど、gdbのdefine機能でユーザー定義コマンド定義してくと便利

    その他
    masatomo-m
    container_ofマクロは最初これが関数ではなくマクロで実装されてることに驚いたなあ。プロセス/スレッド構造体なんかでも使われてたと思う

    その他
    PEEE
    do while(0)は知らないと使えないし読めないよなあ

    その他
    wushi
    素敵

    その他
    tengo1985
    こういう黒魔術は知りたい。http://zentoo.hatenablog.com/entry/20121211/1355243345

    その他
    mohno
    mohno 懐かしいな。これだからC言語を初心者に教えるなんて……という理由でもあるが。

    2017/03/03 リンク

    その他
    slash_01
    do{ }while(0); はよく使ってたなぁ。

    その他
    atm_09_td
    Cのマクロなんて、もう何年書いてないんだろう...。

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    linuxカーネルで学ぶC言語のマクロ - Qiita

    はじめに 記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。そ...

    ブックマークしたユーザー

    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事

    いま人気の記事 - 企業メディア

    企業メディアをもっと読む