哪些现代编译器支持 Gnu 语句表达式(C 和 C++ 语言)。我应该在什么版本中使用语句表达式?
语句表达式就像({ code; code; retval })
:
int b=56;
int c=({int a; a=sin(b); a;});
我已经知道一些这样的编译器:
- 海湾合作委员会 >=3
- 铿锵/LLVM >= 3.0.0
- 英特尔 C++ 编译器 >= 6.0(Linux 版本,检查第 4 页 http://scc.ustc.edu.cn/zlsc/lenovo_1800/200910/W020100308600680463493.pdf; bit limited http://software.intel.com/en-us/articles/cdiag1487/)
- 太阳工作室 >= 12 (新的语言扩展 http://developers.sun.com/solaris/articles/c_type.html#Using%20Statement%20Expressions%7Coutline)
- IBM XL for z/OS (标记为 IBM 扩展 http://publib.boulder.ibm.com/infocenter/zos/v1r11/topic/com.ibm.zos.r11.cbclx01/statement_expressions.htm)
- Open64(因为它使用鱼鹰海湾合作委员会前端)
这个编译器似乎不支持这个(我不确定):
附言。列出了一些 C/C++ 编译器here http://en.wikipedia.org/wiki/List_of_compilers但我只对广泛使用的成熟编译器感兴趣(例如不是 tcc 或 Turbo c)
PathScale® EKOPath 编译器套件 http://www.pathscale.com/ekopath-compiler-suite
它支持 gnu99 与“-std=gnu99 http://www.pathscale.com/docs/pathCC.html"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)