2015-01-07 7 views
19

मुझे लगता है कि वीएस2013 ने सी 99 की बड़ी कोर भाषा सुविधाओं की बड़ी संख्या के लिए समर्थन जोड़ा। अब यह कुछ नामों के लिए यौगिक अक्षर, नामित प्रारंभिक, विविध मैक्रोज़, अंतःस्थापित घोषणाओं और बयानों का समर्थन करता है।वीएस2013 में सी 99 समर्थन की आधिकारिक स्थिति क्या है?

यह इंगित करता है कि वीएस डेवलपर्स ने विजुअल स्टूडियो में सी 99 समर्थन की दिशा में गंभीर कदम उठाए हैं। फिर भी, इनमें से कुछ विशेषताएं सी ++ भाषा का हिस्सा नहीं हैं, जो पहले घोषित विकास रणनीति से एक उल्लेखनीय विचलन प्रतीत होती है (उदाहरण के लिए "वीएस सी कंपाइलर केवल उन सी 99 सुविधाओं का समर्थन करेगा जो सी ++ का हिस्सा हैं")।

तो, क्या चल रहा है पर कोई आधिकारिक या अर्ध-आधिकारिक शब्द है? मुझे नेट पर कुछ भी निश्चित नहीं लगता है। क्या इन सी 99 सुविधाओं की आधिकारिक तौर पर घोषणा की गई थी? वीएस में निरंतर सी 99 समर्थन के लिए कोई प्रतिबद्धता है? या यह सिर्फ कुछ प्रकार के "दुष्ट" अनौपचारिक विकास है?

+0

हर्ब सटर ने उल्लेख किया कि उन्होंने VS2013 पर ffmpeg संकलित करने में सक्षम होने के लिए पर्याप्त जोड़ा, कोई संकेत नहीं कि वे उस आवश्यकता के साथ कैसे आए। – Praetorian

+0

http://msdn.microsoft.com/en-us/library/hh409293.aspx – BLUEPIXY

+0

मैंने अपने हालिया सी 99 [यहां] से जुड़े हुए हैं (http://stackoverflow.com/a/18521417/1708801) –

उत्तर

10

माइक्रोसॉफ्ट डेवलपर्स से इस के कुछ सरकारी अधिकारी विचार विमर्श कर रहे हैं, C++ Conformance Roadmap जो कहते हैं:

हर्ब भी घोषणा की कि, ग्राहक अनुरोध के जवाब में, आरटीएम संस्करण भी कुछ सामरिक C99 शामिल होंगे भाषा एक्सटेंशन जब सी कोड संकलन है, ताकि कुछ लोकप्रिय समुदाय ( FFmpeg सहित) पुस्तकालयों अब विज़ुअल सी के साथ संकलित करने के लिए सक्षम हो जाएगा ++ 2013.

तो यह आधिकारिक समर्थन हासिल है लेकिन रणनीतिक है, जो मैं निम्नलिखित लेखों के रूप में बता सकता हूं उससे अधिक प्राथमिकताओं को अन्य प्राथमिकताओं के साथ प्रतिस्पर्धा करना होगा।

हम C++11/14 STL Features, Fixes, And Breaking Changes In VS 2013 Blog entry by STL है:

साथ ही, कुछ C99 कोर भाषा सुविधाओं 2013 RTM में लागू किया जाएगा:

  • C99 _Bool

  • C99 यौगिक शाब्दिक

  • सी 99 नामित itializers

  • C99 चर घोषणाओं

और C99 library support in Visual Studio 2013 blog entry by Pat Brenner के साथ खुलता है जो:

इस ब्लॉग पोस्ट मैं C99 समर्थन के बारे में कुछ जानकारी साझा करना चाहते में सी चलाने को जोड़ा गया विजुअल स्टूडियो 2013 में टाइम लाइब्रेरी।

और इसके साथ समाप्त होता है:

हम जानते हैं कि यह C99 लाइब्रेरी फ़ंक्शंस के लिए पूर्ण समर्थन नहीं है। हमारी समझ में सबसे अच्छी बात यह है कि गायब टुकड़े हैं:

  • tgmath.h शीर्षलेख गायब है।इस शीर्षलेख के लिए सी संकलक समर्थन की आवश्यकता है। ध्यान दें कि ctgmath हेडर जोड़ा गया था-यह संभव है क्योंकि उस शीर्षलेख को tgmath.h हेडर-केवल कॉम्प्लेक्स और सेमीथ हेडर की आवश्यकता नहीं है।
  • uchar.h शीर्षलेख गायब है। यह सी यूनिकोड टीआर से है। printf परिवार में कई प्रारूप विनिर्देश अभी तक समर्थित नहीं हैं।
  • snpriof और snwprintf फ़ंक्शन stdio.h और wchar.h से अनुपलब्ध हैं।

जो कुछ और अधिक दिलचस्प है के बाद से एसटीएल सक्रिय रूप से ब्लॉग के लिए टिप्पणियों के पते और वे संक्षेप में प्रस्तुत करने के लिए कठिन हैं, लेकिन हम देख सकते हैं भविष्य अतिरिक्त प्रतिस्पर्धा प्राथमिकताओं पर निर्भर करेगा।

धन्यवाद एक और ब्लॉग पोस्ट C Runtime (CRT) Features, Fixes, and Breaking Changes in Visual Studio 14 CTP1 जो कहते हैं उनका कहना है के लिए cremno रहे हैं:

दृश्य स्टूडियो में "14" सीटीपी हम पूरी तरह से लागू कर दिया है C99 स्टैंडर्ड लाइब्रेरी, किसी भी पुस्तकालय सुविधाओं के अपवाद के साथ कि संकलक सुविधाओं पर निर्भर करता है जो अभी तक Visual C++ कंपाइलर द्वारा समर्थित नहीं हैं (विशेष रूप से, <tgmath.h> लागू नहीं किया गया है)। निस्संदेह कुछ शेष अनुरूपता मुद्दों - हम कुछ जानते हैं, जिसमें _Exit गुम है और wcstok में गलत हस्ताक्षर है, और हम इन्हें ठीक करने के लिए काम कर रहे हैं। अगर आपको कोई बग या अनुपलब्ध सुविधा मिलती है, तो कृपया इसे Microsoft Connect पर रिपोर्ट करें। यदि आप अब की बग की रिपोर्ट करते हैं, तो बहुत अच्छा मौका है कि हम उन्हें RTM से पहले ठीक करने में सक्षम होंगे।

और इसमें बहुत सारे विवरण हैं जिन्हें आसानी से सारांशित नहीं किया जा सकता है।

+2

वैसे, वीएस2015 ' 'और' snprintf() 'उपलब्ध हैं। अन्य सी 99 संबंधित परिवर्तन भी हैं। [यह] देखें (http://blogs.msdn.com/b/vcblog/archive/2014/06/18/crt-features-fixes-and-breaking-changes-in-visual-studio-14-ctp1.aspx) पुराना ब्लॉग पोस्ट। – cremno

+0

@cremno धन्यवाद! मैंने वीएलए पर पुराने उत्तरों के लिए इसे दो बार देखा था और उसे याद किया था। –

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