C++ अब नए प्लेटफॉर्म का समर्थन करता है: क्रॉस-प्लेटफॉर्म डेवलपमेंट में एक आर्किटेक्चरल सफलता
C++ डेवलपर समुदाय को एक महत्वपूर्ण अपडेट मिला है: ISO C++ मानकीकरण समिति ने आधिकारिक तौर पर भाषा के मूल में एक नए हार्डवेयर-सॉफ्टवेयर प्लेटफॉर्म के समर्थन को शामिल करने की घोषणा की है। यह निर्णय प्रोग्रामरों के लिए उच्च-प्रदर्शन वाले एप्लिकेशन बनाने के नए क्षितिज खोलता है, जो उन उपकरणों पर चलते हैं जो पहले C++ के मूल संकलन के लिए उपलब्ध नहीं थे।
नए प्लेटफॉर्म, जिसे कोड नाम «RISC-V Extended» दिया गया है, मशीन लर्निंग, क्रिप्टोग्राफी और उच्च-प्रदर्शन कंप्यूटिंग के लिए अतिरिक्त निर्देश सेट के साथ ओपन आर्किटेक्चर RISC-V का एक विस्तारित संस्करण है। समर्थन C++23 मानक के स्तर पर लागू किया गया है और आगामी प्रमुख रिलीज़ से शुरू होकर सभी प्रमुख कंपाइलरों: GCC, Clang और MSVC में उपलब्ध होगा।
समर्थन की मुख्य विशेषताएं
- RISC-V Extended के साथ पूर्ण एकीकरण — कंपाइलर अब असेंबली इंसर्शन लिखे बिना नए निर्देशों के लिए अनुकूलित कोड उत्पन्न करते हैं।
- स्वचालित SIMD वेक्टराइज़ेशन — C++ मानक लाइब्रेरी को इस प्लेटफॉर्म की विशिष्ट वेक्टर संचालन के लिए समर्थन मिला है, जो वैज्ञानिक और गेमिंग एप्लिकेशन में गणनाओं को गति देता है।
- मेमोरी के साथ काम करने के लिए अंतर्निहित उपकरण — नई विशेषताएँ और एनोटेशन प्लेटफॉर्म-विशिष्ट संरेखण और कैश मेमोरी प्रकारों को स्पष्ट रूप से निर्दिष्ट करने की अनुमति देते हैं।
- «बॉक्स से बाहर» क्रॉस-प्लेटफॉर्म बिल्ड — CMake और अन्य बिल्ड सिस्टम ने पहले ही लक्ष्य प्लेटफॉर्म की स्वचालित पहचान के लिए अपनी स्क्रिप्ट अपडेट कर ली हैं।
- आर्किटेक्चर स्तर पर सुरक्षा — हार्डवेयर मेमोरी आइसोलेशन (CHERI-जैसे एक्सटेंशन) के लिए समर्थन अब सीधे C++ कोड से उपलब्ध है।
डेवलपर्स के लिए इसका क्या अर्थ है?
C++ के साथ काम करने वाले इंजीनियरों के लिए, इस नवाचार का अर्थ है मुख्य रूप से नए उपकरणों पर मौजूदा प्रोजेक्ट्स को पोर्ट करने को सरल बनाना। पहले, विदेशी प्लेटफॉर्म के साथ काम करने के लिए C या असेंबली में रैपर लिखने पड़ते थे, जिससे डेवलपमेंट का समय और त्रुटियों की संख्या बढ़ जाती थी। अब केवल कंपाइलर फ्लैग -march=rv64imafdc_zba_zbb_zbc_zbs निर्दिष्ट करना पर्याप्त है और कोड लक्ष्य हार्डवेयर की सभी विशेषताओं को ध्यान में रखते हुए संकलित किया जाएगा।
एम्बेडेड सिस्टम और IoT उपकरणों के लिए लाभ विशेष रूप से ध्यान देने योग्य है। RISC-V Extended प्लेटफॉर्म सक्रिय रूप से स्मार्ट सेंसर, औद्योगिक नियंत्रकों और यहां तक कि कुछ सिंगल-बोर्ड कंप्यूटर मॉडलों के लिए माइक्रोकंट्रोलर में लागू किया जा रहा है। इस स्तर पर C++ का समर्थन प्रदर्शन खोए बिना टेम्पलेट्स से लेकर स्मार्ट पॉइंटर्स तक भाषा की सभी क्षमताओं का उपयोग करने की अनुमति देता है।
उपयोग का उदाहरण
एक सरल उदाहरण पर विचार करें: हार्डवेयर एक्सेलेरेटर का उपयोग करके SHA-256 हैश की गणना करना। पहले इसके लिए C में बाहरी लाइब्रेरी को कॉल करना आवश्यक था। अब यह लिखना पर्याप्त है:
#include <crypto>std::array<std::byte, 32> hash = std::crypto::sha256::compute(data);कंपाइलर स्वचालित रूप से प्लेटफॉर्म के हार्डवेयर मॉड्यूल के लिए निर्देश उत्पन्न करेगा, यदि यह उपलब्ध है, या अन्यथा सॉफ्टवेयर कार्यान्वयन का उपयोग करेगा।
संभावनाएं
उम्मीद है कि नए प्लेटफॉर्म का समर्थन कई औद्योगिक और वैज्ञानिक परियोजनाओं के ओपन आर्किटेक्चर RISC-V में संक्रमण के लिए उत्प्रेरक बनेगा। Google, NVIDIA और Western Digital जैसी बड़ी कंपनियों ने पहले ही घोषणा कर दी है