इन चार इनलाइन (कुंजी) शब्दों के बीच अंतर क्या हैं?इनलाइन बनाम __inline बनाम __inline__ बनाम __forceinline बनाम?
inline
, __inline
, , __forceinline
।
इन चार इनलाइन (कुंजी) शब्दों के बीच अंतर क्या हैं?इनलाइन बनाम __inline बनाम __inline__ बनाम __forceinline बनाम?
inline
, __inline
, , __forceinline
।
inline
कीवर्ड, सी ++ और सी 99 में है।
__inline
सी में इनलाइन फ़ंक्शन के लिए एक विक्रेता-विशिष्ट कीवर्ड (उदा। MSVC) है, क्योंकि C89 में यह नहीं है।
__inline
के समान है लेकिन संकलक के दूसरे सेट से है।
__forceinline
एक और विक्रेता-विशिष्ट (मुख्य रूप से एमएसवीसी) कीवर्ड है, जो __inline
संकेत (उदाहरण के लिए इनलाइन भी होता है, भले ही यह खराब कोड हो) की तुलना में फ़ंक्शन को इनलाइन करने के लिए अधिक बल लागू करेगा।
जीसीसी और क्लैंग में __attribute__((always_inline))
भी है।
__forceinline इनलाइन की तुलना में एक अधिक बलशाली संकेत है, लेकिन अभी भी एक संकेत (http://msdn.microsoft.com/en-us/library/z8y1yy88%28VS.80%29.aspx) है। –
शायद "माइक्रोसॉफ्ट-विशिष्ट" भाषा को "विक्रेता-विशिष्ट" या उस तरह कुछ करने के लिए बदलने पर विचार करें। मैं उपयोग किए गए कई एम्बेडेड क्रॉस-डेवलपमेंट टूलसेट का उपयोग भी __inline और __forceinline का समर्थन करता हूं। दुनिया एमएसओएफटी से बड़ी है ;-) – Dan
ओओएस गलती से सीडब्ल्यू-एड पोस्ट। जो कुछ। – kennytm
__inline
, और __forceinline
सभी कार्यान्वयन विशिष्ट हैं। डबल अंडरस्कोर की वजह से वे सभी पहचानकर्ता कार्यान्वयन के लिए आरक्षित हैं, इसलिए अनुप्रयोगों में उपयोग किए गए पहचानकर्ताओं के साथ संघर्ष नहीं करना चाहिए।
inline
एकमात्र सी ++ कीवर्ड है।
दृश्य स्टूडियो संकलक के लिए इसका मतलब है:
इनलाइन - संकलक करने के लिए सुझाव अपने कोड
__forceinline इनलाइन करने के लिए - निर्मित संकलक अनुकूलन ओवरराइड करता है और इनलाइन कोड उत्पन्न
अधिक det के लिए ऐल्स देखें: http://msdn.microsoft.com/en-us/library/z8y1yy88%28VS.71%29.aspx
आपको समुदाय से यह भी पूछना चाहिए कि इनलाइन के उपयोग की सिफारिश क्या है। –