5

मैंसी ++ (यूई 4 ढांचे) में वाक्यविन्यास का उपयोग करना चाहता हूं, लेकिन क्रॉस-प्लेटफ़ॉर्म कोड के कारण मुझे यकीन नहीं है कि यह संभव है ... या संभव है? यदि हां, तो मैं इसका उपयोग कैसे कर सकता हूं?क्या सभी सी ++ कंपाइलर एसिंक/प्रतीक्षा कीवर्ड का समर्थन करते हैं?

और यह भी वहाँ await और __await (resumable, yield और __yield_value भी) खोजशब्द जो दृश्य स्टूडियो में प्रकाश डाला है। क्या अंतर है? हो सकता है कि सभी कंपाइलर्स इस कीवर्ड का समर्थन नहीं करते हैं या अलग से समर्थन करते हैं?

gcc, clang इसे स्वीकार कर रहे हैं? या स्वीकार नहीं करता है और मैं अलग-अलग प्रत्येक मंच के लिए मैक्रोज़ का उपयोग कर सकता हूं।

+0

नहीं, सभी * कंपाइलर्स 'async' या' प्रतीक्षा 'वाक्यविन्यास का समर्थन नहीं करते हैं। जीसीसी और सीएलएंग वहां कई कंपाइलरों में से केवल 2 हैं। आपको कुछ नाम देने के लिए ग्रीनहिल्स, आईएआर, कील और विजुअल स्टूडियो की जांच करनी चाहिए। –

+1

llvm और clang कार्यान्वयन चल रहा है: https://twitter.com/Eric01/status/867473461836263424 देखें (24 मई, 2017: "कोरआउट अब क्लैंग ट्रंक में हैं!") –

उत्तर

13

async और await माइक्रोसॉफ्ट द्वारा कई संशोधनों के साथ प्रस्तावित भाषा एक्सटेंशन हैं, लेकिन वर्तमान N4134 है। यह अभी तक मानक में स्वीकार नहीं किया है।

प्रस्ताव पूरी तरह से पके हुए नहीं किया जा रहा है और एक टी एस में पूरी तरह से व्याख्या नहीं दी गया है और N3985 जो coroutines मौजूदा भाषा मानक के भीतर लागू किया जा सकता है कि प्रस्ताव की तरह प्रस्तावों वहाँ प्रतिस्पर्धा की वजह से http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0158r0.html जैसे कई द्वारा विरोध किया है।

मेरे ज्ञान के लिए, वास्तव में एसिंक/प्रतीक्षा का समर्थन करने वाला एकमात्र कंपाइलर एमएस विजुअल स्टूडियो है।

एक अद्यतन के रूप में, बजना 5.0 वर्तमान मसौदा सह दिनचर्या प्रस्ताव https://isocpp.org/files/papers/N4663.pdf जो अब एक टीएस के रूप में स्वीकार किया गया है और सी ++ 20 मानक की ओर एक आँख के साथ प्रगति पर है के लिए समर्थन हासिल है।

+0

वाह, आप वास्तव में एक विषय वस्तु विशेषज्ञ हैं यह विषय। –

संबंधित मुद्दे