GCC Extensions2008年05月01日 21時45分40秒

gcc(Gnu C Compiler) の拡張文法がまとめてある。

「関数の中に関数を作る」のは以前に、これに頼った実装のオープンソースがあり、困った経験があるので知っていたが、これ以外は一切知らなかった。基本的には、独自拡張は非互換の元になるので使わない。しかし、「switch caseで値の範囲を指定する」のは便利そうだ。

独自拡張を使うのは、元々移植性の無いコードだけ。特定の環境にしか無いシステムコールや特定のデバイスの操作など、どうせ移植できないものなら、独自拡張に頼ることもある。