का कंपाइलर समर्थन कौन सा आधुनिक कंपाइलर्स जीएनयू स्टेटमेंट एक्सप्रेशन (सी और सी ++ भाषाओं) का समर्थन करता है। मुझे कथन अभिव्यक्तियों का उपयोग करने के लिए किन संस्करणों का उपयोग करना चाहिए?जीएनयू स्टेटमेंट एक्सप्रेशन
वक्तव्य अभिव्यक्ति है ({ code; code; retval })
तरह ख़ाली:
int b=56;
int c= ({int a; a=sin(b); a})
मैं पहले से ही कुछ ऐसे compilers पता:
- जीसीसी> = 3
- बजना/LLVM> =?
- इंटेल सी ++ संकलक> = 6.0 (लिनक्स संस्करण, check page 4; सा limited)
- सूर्य स्टूडियो> = 12 (New Language Extensions)
- आईबीएम एक्स्ट्रा लार्ज z/OS के लिए (marked as IBM extension)
- Open64 (के रूप में यह का उपयोग करता है ओस्प्रे-जीसीसी दृश्यपटल)
इस संकलक इसके समर्थन में नहीं (मैं अनिश्चित हूँ) लगता है:
- एमएस विजुअल सी ++
पीएस। कुछ C/C++ compilers here सूचीबद्ध हैं, लेकिन मैं केवल परिपक्व compilers, कि व्यापक रूप से इस्तेमाल कर रहे हैं में रुचि रखते हैं (जैसे नहीं एक TCC या टर्बो ग)
लेकिन [पेज] (http://software.intel.com/sites/products/documentation/hpc/composerxe/en-us/2011Update/cpp/lin/bldaps_cls/ सामान्य/bldaps_gcc_compat_comm.htm) कहता है "* स्टेटमेंट एक्सप्रेशन समर्थित हैं, सिवाय इसके कि निम्नलिखित में निषिद्ध है: *" .. और [यह, पेज 4] (http://scc.ustc.edu.cn/zlsc/lenovo_1800/200910 /W020100308600680463493.pdf) कहता है कि यह सच sinc है ई इंटेल सी ++ कंपाइलर संस्करण 6.0 – osgx
आप सही हैं। मैं एक बेहतर जवाब दूंगा। – lrineau