बहुत से त्वरित कार्यों के लिए, जहाँ कोई व्यक्ति किसी कार्य को नियोजित कर सकता f(x,y)
है, सादे सी में, मैक्रोज़ का उपयोग किया जाता है। मैं इन मामलों के बारे में विशेष रूप से पूछना चाहता हूं, जो एक फ़ंक्शन कॉल द्वारा हल किए जा सकते हैं (यानी इनलाइनिंग कार्यों के लिए उपयोग किए जाने वाले मैक्रो, मनमाने कोड के कोड विस्तार के लिए नहीं)।
आमतौर पर C फ़ंक्शन इनलाइन नहीं होते हैं क्योंकि वे अन्य C फ़ाइलों से लिंक किए जा सकते हैं। हालाँकि, स्थिर C फ़ंक्शंस केवल C फ़ाइल के भीतर से ही दिखाई देते हैं जिन्हें वे परिभाषित करते हैं। इसलिए उन्हें संकलक द्वारा इनवेट किया जा सकता है। मैंने सुना है कि बहुत सारे मैक्रो को स्थिर कार्यों में बदलकर बदल दिया जाना चाहिए, क्योंकि यह सुरक्षित कोड का उत्पादन करता है।
क्या ऐसे मामले हैं जहां यह एक अच्छा विचार नहीं है?
दोबारा: ## एक जैसे निर्माणों के साथ कोड-प्रोडक्शन मैक्रोज़ के बारे में नहीं पूछा जाना चाहिए जो एक फ़ंक्शन के रूप में व्यक्त नहीं किए जा सकते।
inline
कार्य केवल यह सुनिश्चित करता है कि इसे बाइनरी में कई बार परिभाषित किया जा सकता है, संकलक यह तय कर सकता है कि क्या यह वास्तव में अंतरिक्ष को बचाने के लिए इसे इनलाइन करेगा
inline
, यह C ++ के बारे में नहीं है।
inline
सी में है, कम से कम C99 के बाद से। एक त्वरित अवलोकन के लिए, इनलाइन फ़ंक्शन पर विकिपीडिया देखें ।