linuxのメモ

Linux kernelの実装を解説していきます (対象ver 4.5)

エラー出力 - BUILD_BUG_ON()

概要

コンパイル時にエラーを出力する

詳細

__CHECKER____OPTIMIZE__の値によって以下のように処理が異なる

  • __CHECKER__が有効
    • 何もしない
  • __OPTIMIZE__が有効
    • ((void)sizeof(char[1 - 2*!!(condition)]))のコードにより、conditionが0以外の場合にコンパイルエラーを出力させる
  • それ以外