मैं सी भाषा में काम कर रहा हूं और पहले किसी अन्य व्यक्ति द्वारा लिखे गए कोड को संशोधित कर रहा हूं। मैं कुछ चीजों से जूझ रहा हूं और मैं जितना कर सकता हूं उतना समझने की कोशिश कर रहा हूं जितना मैं कर सकता हूं। इसलिए, जैसा कि मेरे प्रश्न में कहा गया है, फ़ंक्शन बनाते समय static inline void
और void
के बीच क्या अंतर है? मैं लंबे पद के लिए पहले से माफी माँगता हूं, लेकिन मैं चाहता था कि आप जान लें कि मैंने कुछ शोध किया है, लेकिन मुझे नहीं पता कि मुझे क्या मिला है।स्थिर इनलाइन शून्य और शून्य के बीच क्या अंतर है?
मैंने पाया an explanation of static
कि मुझे confuses:
स्थिर विनिर्देशक का प्रतीक है कि समारोह अन्य फ़ाइलों से संदर्भित नहीं किया जा सकता; यानी, नाम लिंकर द्वारा निर्यात नहीं किया जाता है।
इसे पढ़कर, मुझे लगता है कि फ़ंक्शन को संदर्भित करने से फ़ंक्शन को संदर्भित करना अलग है? मुझे लगता है कि क्योंकि यह फ़ंक्शन किसी अन्य .c फ़ाइल से कहा जाता है। यदि ऐसा है, तो फ़ंक्शन का संदर्भ क्या है?
उसी वेबसाइट के माध्यम से, वे inline functions समझाते हैं और मुझे समझ में नहीं आता कि इसका क्या अर्थ है।
__inline कीवर्ड संकलक को फ़ंक्शन कॉल के प्रत्येक उदाहरण के लिए फ़ंक्शन परिभाषा के भीतर कोड को प्रतिस्थापित करने के लिए कहता है। हालांकि, प्रतिस्थापन केवल संकलक के विवेकाधिकार पर होता है। उदाहरण के लिए, संकलक एक फ़ंक्शन इनलाइन नहीं करता है यदि उसका पता लिया गया है या यदि यह इनलाइन के लिए बहुत बड़ा है।
हू ???
किसी भी मदद की बहुत सराहना की जाती है, और मैं एक बार फिर से बहुत लंबी पोस्ट के लिए क्षमा चाहता हूं।
निम्नलिखित file1.c में स्थित है (सामान्य नाम का उपयोग के रूप में मैं यह मायने रखता है नहीं लगता है)
COMPLEX cNoiseSample;
CGauss(&cNoiseSample, loopbackRadio->pState);
निम्नलिखित file2.c
static inline void CGauss(COMPLEX * pcGauss, P_OS_UNIFORM_RAND_STATE pState)
{
//code
}
भी, एक संकल्प नियम को लागू करने के लिए 'इनलाइन' आवश्यक है जब विभिन्न संकलन इकाइयों में शामिल शीर्षलेख में फ़ंक्शन परिभाषित किया गया हो (या कम से कम यह सी ++ के मामले में है, तो इस विवरण को बिल्कुल सी में नहीं पता, मैं कल्पना करें कि यह वही होगा) – rubenvb
ठीक है मुझे लगता है कि मैं @ ग्राहम-बोर्लैंड की तुलना में थोड़ा उलझन में हूं। मुझे आपको दिखाने दो क्यों: COMPLEX cNoise नमूना; CGAuss (& cNoiseSample, loopbackRadio-> pState);/* यह कोड एक .c स्रोत फ़ाइल में एक बिंदु पर और एक अलग .c स्रोत फ़ाइल में कहा जाता है, मेरे पास यह है: */स्थिर इनलाइन शून्य CGAuss (COMPLEX * पीसीगास, P_OS_UNIFORM_RAND_STATE pState)/* मैं खराब स्वरूपण के लिए क्षमा चाहता हूं टिप्पणी बॉक्स में, यह सुनिश्चित नहीं था कि यह और कैसे करें। */ – TZPike05
अपना प्रश्न संपादित करें, उस कोड स्निपेट को वहां पेस्ट करें। –