मैं वास्तव में एम्बेडेड प्रोग्रामिंग के लिए स्विफ्ट का उपयोग करना चाहता हूं क्योंकि मुझे लगता है कि यह सी ++ के लिए एक बेहतर बेहतर प्रतिस्थापन है, मैं जिस प्रोसेसर का उपयोग कर रहा हूं वह एक एआरएम कॉर्टेक्स-एम 4 एफ (http://www.ti.com/tool/ek-tm4c123gxl) है। स्विफ्ट कंपाइलर page पर देखकर, यह कहता है कि आप त्वरित स्रोत से एलएलवीएम आईआर उत्पन्न कर सकते हैं और फिर मैं एलएलवीएम के साथ संकलन पार करने की उम्मीद कर रहा था। क्या यह संभव होगा?नंगे धातु के लिए स्विफ्ट कंपाइलर का उपयोग कर?
उत्तर
स्विफ्ट के साथ मशीन कोड उत्पन्न करना निश्चित रूप से संभव है। असल में, डिफ़ॉल्ट रूप से जब आप एक्सकोड में स्विफ्ट प्रोग्राम को संकलित करते हैं या स्विफ्टक कमांड-लाइन कंपाइलर के साथ, उत्पादित निष्पादन योग्य फ़ाइल मशीन-कोड से बना है।
एलएलवीएम बाइटकोड निर्माण प्रक्रिया के दौरान किसी बिंदु पर उत्पन्न होता है, लेकिन उत्पादित अंतिम निष्पादन योग्य मशीन कोड है। ऐसे कंपाइलर विकल्प हैं जो आपको केवल एलएलवीएम बाइटकोड उत्पन्न करने की इजाजत देते हैं, लेकिन यदि आप चाहते हैं तो एलएलवीएम बाइटकोड आमतौर पर सीधे निष्पादित नहीं होता है, जैसे जावा बाइटकोड जावा रनटाइम द्वारा चलाया जाता है।
जहां तक एआरएम के लिए क्रॉस-कंपाइलिंग है, मुझे यकीन नहीं है कि यह स्विफ्टक टूल के साथ कैसे काम करता है, लेकिन यदि आप एक एक्सकोड आईओएस प्रोजेक्ट बनाते हैं, तो यह एआरएम निष्पादन योग्य बनाता है। मुझे यकीन है कि स्विफ्टक अनुपालन में एआरएम निष्पादन योग्य बनाने के लिए आवश्यक सभी विकल्प हैं।
हालांकि, एक पकड़ जिसे मैं सोच सकता हूं, यह है कि स्विफ्ट की कार्यक्षमता बहुत सारी एप्पल के ढांचे पर निर्भर करती है। हालांकि, अब स्विफ्ट को खुले तौर पर सोर्स किया गया है, धीरे-धीरे सभी प्रकार की चीजों के लिए अधिक शुद्ध त्वरित पुस्तकालय बनते हैं।
मैं इस संभावना की खोज कर रहा था (एम्बेडेड अनुप्रयोगों के लिए स्विफ्ट का उपयोग कर)। चूंकि स्विफ्ट को "हैलो, वर्ल्ड!" के स्थिर संकलन के बाद, रनटाइम की आवश्यकता होती है (उबंटू पर, x86-64 नवीनतम स्विफ्ट 3.0.2 का उपयोग करके) परिणाम बाइनरी आकार 5 मेगाबाइट से अधिक था, जो "छोटे" एआरएम नियंत्रकों (जैसे कॉर्टेक्स-एम 0) पर एक मुद्दा हो सकता है।
- 1. नंगे-धातु आर्म-एप्लिकेशन
- 2. सी, जीसीसी (नंगे धातु)
- 3. हैलो दुनिया, नंगे धातु Beagleboard
- 4. धातु
- 5. मैं स्विफ्ट कंपाइलर संस्करण
- 6. नंगे धातु मशीन पर कुबेरनेट 1.6 के साथ एडॉन्स स्थापित करने के निर्देश?
- 7. आईओएस धातु
- 8. धातु: उपयोग-मैक्रो और धातु: पांच व्यूपेज टेम्पलेटफाइल
- 9. स्विफ्ट कंपाइलर त्रुटि: उपयोग अनसुलझे पहचानकर्ता 'नाम'
- 10. उत्तरदायी: [डिस्प्रेस चेतावनी]: नंगे चर का उपयोग
- 11. सी/सी ++ नंगे-धातु संकलन और विशिष्ट ओएस (लिनक्स) के लिए संकलन के बीच अंतर क्या हैं?
- 12. पिइप कंपाइलर का उपयोग
- 13. स्विफ्ट कंपाइलर त्रुटि: प्रकार '(() ->())'
- 14. स्विफ्ट कंपाइलर हमेशा 100% सीपीयू
- 15. स्विफ्ट का उपयोग कर कोड में बाधाएं -
- 16. केवल नंगे भंडार के लिए गिट पुश?
- 17. जीसीसी कंपाइलर चेतावनियों को हटाने के लिए टाइपकास्टिंग का उपयोग
- 18. जावा कंपाइलर के बजाय ग्रोवी कंपाइलर का उपयोग करने के लिए इंटेलिजे को कॉन्फ़िगर करना
- 19. ट्रेविस-सीआई आर परियोजना के लिए वैकल्पिक कंपाइलर का उपयोग
- 20. नंगे रिपोज़
- 21. क्या मैं मिररिंग का उपयोग कर स्विफ्ट ऑब्जेक्ट गुणों के लिए मान सेट कर सकता हूं?
- 22. धातु आईओएस त्रुटि संकलन
- 23. एक धातु बनावट
- 24. जीसीसी का उपयोग कर सी में फ़ंक्शन ओवरलोडिंग - कंपाइलर चेतावनियां
- 25. धातु कंप्यूट शेडर
- 26. स्विफ्ट कंपाइलर खाली बंद करने का अनुकूलन करता है?
- 27. मैं कैसे निर्धारित कर सकता हूं कि सी/सी ++ कंपाइलर का उपयोग करने के लिए?
- 28. स्विफ्ट पाश में के लिए: उपयोग वर जाने उपयोग करने के लिए चेतावनी मिलता है, त्रुटि
- 29. स्विफ्ट और आईओएस का उपयोग कर फेसबुक प्रमाणीकरण का उपयोग कर उपयोगकर्ता को लॉगआउट कैसे करें?
- 30. Git एक नंगे भंडार
सेब ढांचे के साथ अधिकांश निर्भरता चली गई है, फाउंडेशन को तेजी से फिर से कार्यान्वित किया गया है और यह भी खुले खुले हैं। –
स्विफ्ट को उद्देश्य-सी रनटाइम की आवश्यकता होती है, जो एम्बेडेड संदर्भ में काफी बड़ा है (कम से कम 600 केबी [इस व्यक्ति] के अनुसार (http://xmaker.mx/archives/14) जिसने उद्देश्य-सी को SiLabs कॉर्टेक्स पर काम किया -M4)। अगर आपको जलने के लिए बाहरी स्मृति मिल गई है तो यह एक मुद्दा कम है। –
@ टोनीके www.swift.org, स्विफ्ट अब उद्देश्य सी पर निर्भर करता है। इसे खुले –