LinuxカーネルにあるBUILD_BUG_ONマクロ。名前からやりたいことは十分に分かるんだけど、これはどういう仕組みなのかというところ。 使っている例としてarch/x86/kernel/head64.cにあるx86_64_start_kernel()を見てみるとこんな感じ。 140 asmlinkage void __init x86_64_start_kernel(char * real_mode_data) 141 { 142 int i; 143 144 /* 145 * Build-time sanity checks on the kernel image and module 146 * area mappings. (these are purely build-time and produce no code) 147 */ 148 BUILD_BUG_ON(MODU