सी (या सी पर आधारित एक भाषा), कोई खुशी से इस कथन का उपयोग कर सकता है:# वास्तव में क्या शामिल है?
#include "hello.h";
और voila, hello.h
में प्रत्येक फ़ंक्शन और चर स्वचालित रूप से प्रयोग योग्य है।
लेकिन वास्तव में यह क्या करता है? मैंने कंपाइलर दस्तावेज़ और ट्यूटोरियल के माध्यम से देखा और ऑनलाइन खोज करने में कुछ समय बिताया, लेकिन जादुई #include
कमांड के बारे में एकमात्र इंप्रेशन मैं बना सकता हूं कि यह उस पंक्ति के बजाय hello.h
की सामग्री को कॉपी करता है। उस से अधिक होना चाहिए।
यदि यह कोई सांत्वना है, तो प्रीप्रोसेसर कार्यान्वयन-विशिष्ट एनोटेशन भी डाल सकता है ताकि अगर डीबग जानकारी उत्पन्न हो, तो यह लाइन नंबर सही हो जाता है। यदि इसका शाब्दिक रूप से कॉपी-पेस्ट का प्रभाव पड़ा, तो डीबगर को "असली" स्रोत फ़ाइल और लाइन नंबर नहीं पता होगा। कॉपी-पेस्ट से पहले '__FILE__' और' __LINE__' को प्रतिस्थापित किया जाना चाहिए। जहां तक कार्यक्रम का अर्थ है, हालांकि, कॉपी-पेस्ट यह है। –