- LLVM Project Blog: What Every C Programmer Should Know About Undefined Behavior #1/3
- LLVM Project Blog: What Every C Programmer Should Know About Undefined Behavior #2/3
- LLVM Project Blog: What Every C Programmer Should Know About Undefined Behavior #3/3
コンパイラ基盤 LLVM のブログで、未定義の動作という C 言語のダークサイドについての記事が3回シリーズで公開されている。
C 言語で未定義の動作を実行したら、「鼻から悪魔が飛び出しても文句が言えない」というジョークは有名で……いや、そんなのを知ってるのは年寄りくらいか(参考:nasal demons)。
ざっと見たところ、初期化してない変数の使用、符号付き変数のオーバーフロー、NULL ポインタの参照、型定義違反といった基本的な話から始まり、大きなコードベースでの実地的な話に進んでいる。
どうも周知徹底が不足しているようなので再度のお願いとなりますが、C死ね。という意見もあるが、ワタシ自身はCを愛してるんだよね……