मैं समझता हूँ कि inline
संकलक के लिए एक सुझाव है, और अपने विवेक पर यह फ़ंक्शन को इनलाइन नहीं कर सकता है, और यह लिंक करने योग्य ऑब्जेक्ट कोड भी उत्पन्न करेगा।
मुझे लगता है कि static inline
ऐसा ही (इनलाइन हो सकता है या नहीं भी) हो सकता है, लेकिन इनबिल्ट होने पर लिंक करने योग्य ऑब्जेक्ट कोड का उत्पादन नहीं करेगा (क्योंकि कोई अन्य मॉड्यूल इसे लिंक नहीं कर सकता)।
कहा पर extern inline
तस्वीर में फिट बैठता है?
मान लें कि मैं इनलाइन फ़ंक्शन द्वारा प्रीप्रोसेसर मैक्रो को प्रतिस्थापित करना चाहता हूं और आवश्यकता है कि यह फ़ंक्शन इनबिल्ड हो जाता है (जैसे, क्योंकि यह __FILE__
और __LINE__
मैक्रोज़ का उपयोग करता है जिसे कॉलर के लिए हल करना चाहिए लेकिन इसे फ़ंक्शन नहीं कहा जाता है)। यदि मैं फ़ंक्शन को इनलाइन नहीं करता है, तो मैं कंपाइलर या लिंकर त्रुटि देखना चाहता हूं। कर देता हैextern inline
है? (मुझे लगता है कि, अगर ऐसा नहीं होता है, तो मैक्रो के साथ चिपके रहने के अलावा इस व्यवहार को प्राप्त करने का कोई तरीका नहीं है।)
क्या C ++ और C के बीच अंतर हैं?
क्या विभिन्न संकलक विक्रेताओं और संस्करणों के बीच अंतर हैं?