HackerNews

C言語の再帰マクロを解明する(醜い泣きごとが止まったら)

Recursive macros in C, demystified (once the ugly crying stops)

https://h4x0r.org/big-mac-ro-attack/


C言語の再帰マクロの使用は困難であるが、なぜそれが可能であるかについて考察する記事です。著者は、Cのプリプロセッサが再帰をサポートしていない理由を探ります。Cのマクロシステムは、簡潔に見えるものの、複雑さを抽象する手段としては不向きであるとし、プログラマーがその使用を避ける傾向を指摘します。それでも、マクロはC言語における唯一のコンパイル時実行能力であり、重要であることを強調します。また、マクロの限界を乗り越えるための方法や、自動型チェックや検証を追加する方法などの戦略についても述べています。全体として、再帰マクロを解明し、実用的に使うための道筋を示しています。