मैं स्रोत फ़ाइल में, यदि संकलक का उपयोग static_assert का समर्थन करता है, तो मैं पहचानना चाहता हूं।यह पता लगाने के लिए कि कोई कंपाइलर static_assert का समर्थन करता है या नहीं?
उत्तर
सी 11 में, static_assert
assert.h
मैक्रो है जो _Static_assert
तक फैला है।
तुम बस का उपयोग कर सकते हैं:
#include <assert.h>
#if defined(static_assert)
// static_assert macro is defined
#endif
ध्यान दें कि कुछ compilers (जैसे, IAR) भी एक static_assert
कीवर्ड विस्तार भले ही वे C11 का समर्थन नहीं करते है।
के रूप में टिप्पणी में उल्लेख किया है कि आप भी C11 के लिए जाँच कर सकते हैं:
#if (__STDC_VERSION >= 201112L)
// it is c11, static_assert is defined when assert.h is included
#endif
somesuch तो कैसे करता है, तो _Static_assert समर्थित है पता assert.h करता है हो सकता है? – yshui
@yshui, मानक हेडर फाइलों जैसे 'assert.h' प्लेटफ़ॉर्म द्वारा प्रदान की जाती हैं, इसलिए उनके पास आंतरिक आंतरिक जादू है जो यह जानने के लिए है कि क्या समर्थित है या नहीं। यह बिल्कुल मट्ठा है कि वे यहां हैं, इसलिए आपको ऐसी सुविधाओं के बारे में चिंता करने की ज़रूरत नहीं है। –
- 1. यह पता लगाने के लिए कि किसी विशेष डिवाइस में सिम हार्डवेयर समर्थन है या नहीं?
- 2. यह पता लगाने के लिए कि मेरे आईओएस एप्लिकेशन का कोई नया संस्करण है या नहीं?
- 3. यह पता लगाने के लिए कि कोई फ़ाइल पीडीएफ या टीआईएफएफ है या नहीं?
- 4. यह पता लगाने के लिए कि ब्राउज़र फ़ाइल अपलोड करने का समर्थन करता है या नहीं? (मोबाइल + डेस्कटॉप)
- 5. कोको: यह पता लगाने के लिए कि कोई एनएसएसटींग अपरिवर्तनीय या परिवर्तनीय है या नहीं?
- 6. यह पता लगाने के लिए कि कोई कनेक्टेड यूएसबी प्रिंटर चालू या बंद है या नहीं?
- 7. क्या यह पता लगाने का कोई तरीका है कि कोई ड्राइव एसएसडी है या नहीं?
- 8. यह पता लगाने के लिए कि कोई छवि बंडल के भीतर मौजूद है या नहीं?
- 9. यह पता लगाने के लिए कि कोई फ़ाइल बैच फ़ाइल
- 10. क्या यह पता लगाने का कोई तरीका है कि ए बी का सबमिट्रिक्स है या नहीं?
- 11. यह पता लगाने के लिए कि कोई प्रोग्राम उपप्रोसेस से क्रैश हो गया है या नहीं?
- 12. यह पता लगाने के लिए कि कोई बीएलई डिवाइस एंड्रॉइड
- 13. यह पता लगाने के लिए कि किसी HTML पृष्ठ में कोई वीडियो है या नहीं?
- 14. यह पता लगाने के लिए कि विंडोज
- 15. यह पता लगाने के लिए कि कोई टाइमर चल रहा है या नहीं?
- 16. क्यूटी: यह पता लगाने के लिए कि कोई विजेट चुना गया है या नहीं?
- 17. यह पता लगाने के लिए कि कोई प्रकार std :: tuple है या नहीं?
- 18. यह पता लगाने के लिए कि कोई विशिष्ट ड्राइव हार्ड ड्राइव है या नहीं?
- 19. यह पता लगाने के लिए कि कोई उपयोगकर्ता PHP
- 20. यह पता लगाने के लिए कि कोई वेबसाइट HSTS
- 21. यह पता लगाने के लिए कि कोई फ्लास्क ऐप यूआरएल
- 22. यह पता लगाने का तेज़ तरीका है कि कोई उपयोगकर्ता सिस्टम पर मौजूद है या नहीं?
- 23. यह पता लगाने के लिए कि क्या JIT उपलब्ध है
- 24. यह पता लगाने के लिए कि स्क्रीन एंड्रॉइड डिवाइस में कैपेसिटिव या प्रतिरोधी है या नहीं?
- 25. यह पता लगाने के लिए कि जीपीएस सिग्नल कमजोर या उच्च है या नहीं?
- 26. यह पता लगाने के लिए कि क्या जेएमएस कनेक्शन है?
- 27. यह पता लगाने के लिए कि कोई विज़िटर मानव है और मकड़ी नहीं है
- 28. क्या यह पता लगाने का कोई तरीका है कि कोई एंड्रॉइड फोन कॉल लॉग में वॉइसमेल एकीकरण का समर्थन करता है या नहीं?
- 29. यह पता लगाने के लिए कि होस्ट डिवाइस आईफोन या आईपैड है या नहीं?
- 30. पता लगाएँ कि ब्राउज़र स्थिति का समर्थन करता है: निश्चित
आप के लिए '__STDC_VERSION__> = 201100' की जाँच करें या – Christoph