2015-01-20 9 views
8

मैं क्रॉस संकलन को समझने की कोशिश कर रहा हूं। कई क्रॉस कंपाइलर्स gnueabihf का जिक्र करते हैं। मैं समझने में सक्षम था कि ईएबीआई क्या है, लेकिन मुझे एचएफ प्रत्यय के बारे में कुछ भी नहीं मिला। इसका क्या मतलब है?eabihf एचएफ के लिए खड़ा क्या है?

धन्यवाद!

+2

मुझे लगता है कि यह 'हार्ड-फ्लोट' के लिए खड़ा है। – Jite

उत्तर

4

hf का अर्थ है हार्ड फ्लोट।
जब आप इस ध्वज का उपयोग संकलन के दौरान करते हैं, तो आपका कंपाइलर आपके प्रोग्राम को संकलित करेगा ताकि यह लॉन्च होने पर Floating Point Unit का उपयोग करेगा।
आपका प्रोग्राम तेजी से चलाएगा लेकिन केवल तभी जब आप फ़्लोटिंग पॉइंट्स का उपयोग करेंगे!
अगर आपका सीपीयू इसका समर्थन नहीं करता है तो यह ध्वज का उपयोग न करें, या यह शुरू नहीं होगा।

संपादित करें:
इसके अलावा, यदि आप Soft Float का उपयोग करते हैं तो यह प्रत्येक फ्लोट "सॉफ़्टवेयर" की गणना करेगा।

+6

नहीं, हार्ड-फ्लोट/मुलायम-फ्लोट पूरी तरह से एक एबीआई है कि क्या एफपीयू रजिस्ट्रार या सामान्य प्रयोजन रजिस्ट्रारों में फ़्लोटिंग-पॉइंट तर्क पारित किए जाते हैं। सॉफ़्ट-फ्लोट कोड पूरी तरह से एफपीयू का उपयोग कर सकता है यदि यह मौजूद है (आवश्यक रजिस्टर-शफलिंग मध्यम प्रदर्शन हिट बनाम हार्ड-फ्लोट देता है), लेकिन _also_ इम्यूलेशन पर वापस गिरने की अनुमति देता है। उदाहरण के लिए, एंड्रॉइड देशी कोड के लिए सॉफ्ट-फ्लोट एबीआई का उपयोग करता है, लेकिन हार्डवेयर एफपीयू प्रदर्शन (एनईओएन) पर उस _depends_ का भरपूर उपयोग करता है। – Notlikethat

+0

ग्रेट, सटीकता के लिए धन्यवाद! – VivienG

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