GNU 语句表达式的编译器支持

标签 c visual-c++ compiler-construction c99

哪些现代编译器支持 Gnu Statement 表达式(C 和 C++ 语言)。我应该使用什么版本的语句表达式?

语句表达式类似于({ code; code; retval }):

int b=56;
int c=({int a; a=sin(b); a;});

我已经知道一些这样的编译器:

这个编译器似乎不支持这个(我不确定):

  • MS Visual C++

附言。列出了一些 C/C++ 编译器 here但我只对广泛使用的成熟编译器感兴趣(例如不是 tcc 或 turbo c)

最佳答案

关于GNU 语句表达式的编译器支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6440021/

相关文章:

c++ - 如何处理具有相同 namespace 的多个导入?

parsing - 句法分析和语义分析

c++ - 哪些标志将改善 gcc/clang 编译时间?

c - 无法解析符号

c - 为什么 Qt 应用程序仅在 Spy++ 运行时创建窗口句柄?

c++ - 为什么这段代码在调试时慢了 100 倍?

windows - lockResource() 返回一个指针,但指向未知的结构

compiler-construction - 位置独立代码和共享对象

c - 快速排序,是否可以输出 N 维数组中的前 m 个排序值,从而比完整的 N 排序更快

c - C 中的嵌套结构