Skip to content
2009/06/02 / highmt

GCC拡張:Statements and Declarations in Expressions

こんなやつ:
  int var = ({
      int x = 2;
      x;
    });

varは2になる。

http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/C-Extensions.html#C-Extensions には一番目に書いてあるから
きっと最も有名なGCC拡張なんだろうけど、知らなかった。

linuxのデバイスドライバの勉強をしていて、container_ofマクロとかにつきあたって悩んでいたのだけれども、

どうやらGCCの勉強もしないといけないらしい。

広告
%d人のブロガーが「いいね」をつけました。