GCC 7.3 - 2.3. Search Path

2.3 खोज पथ




gcc

2.3 खोज पथ

डिफ़ॉल्ट रूप से, प्रीप्रोसेसर हेडर फ़ाइलों की तलाश में होता है, जिसमें डायरेक्टिव #include " file " रूप में #include " file " होता है, जो वर्तमान फ़ाइल की डायरेक्टरी के पहले रिश्तेदार होता है, और उसके बाद मानक सिस्टम निर्देशिकाओं की पूर्व-निर्धारित सूची में। उदाहरण के लिए, यदि #include "types.h" में #include "types.h" , GCC टाइप के लिए खोज करता है। सबसे पहले / usr / / sys में शामिल करें , फिर अपने सामान्य खोज पथ में।

कोण-ब्रैकेट फॉर्म #include < file > , प्रीप्रोसेसर का डिफ़ॉल्ट व्यवहार केवल मानक सिस्टम निर्देशिकाओं में देखना है। सटीक खोज निर्देशिका सूची लक्ष्य प्रणाली पर निर्भर करती है कि जीसीसी कैसे कॉन्फ़िगर किया गया है, और यह कहां स्थापित है। आप सीपीपी के अपने संस्करण के लिए डिफ़ॉल्ट खोज निर्देशिका सूची -v विकल्प के साथ इसे प्राप्त कर सकते हैं। उदाहरण के लिए,

cpp -v /dev/null -o /dev/null

कई कमांड-लाइन विकल्प हैं जिनका उपयोग आप अतिरिक्त निर्देशिकाओं को खोज पथ में जोड़ने के लिए कर सकते हैं। सबसे अधिक इस्तेमाल किया जाने वाला विकल्प -I dir है , जिसके कारण dir को वर्तमान निर्देशिका (निर्देश के उद्धरण रूप के लिए) और मानक सिस्टम निर्देशिकाओं से आगे के बाद खोजा जा सकता है। आप कमांड लाइन पर कई -I विकल्प निर्दिष्ट कर सकते हैं, जिस स्थिति में निर्देशिकाएं बाएं से दाएं क्रम में खोजी जाती हैं।

यदि आपको ' #include ' निर्देश के उद्धरण और कोण-ब्रैकेट रूपों के लिए खोज पथ पर अलग नियंत्रण की आवश्यकता है, तो आप -I के बजाय -iquote और / या -isystem विकल्पों का उपयोग कर सकते हैं। इन विकल्पों के विस्तृत विवरण के लिए, साथ ही साथ आम तौर पर उपयोगी होने वाले अन्य लोगों के लिए Invocation देखें।

यदि आप कमांड लाइन पर अन्य विकल्प निर्दिष्ट करते हैं, जैसे कि -I , जो प्रभावित करता है जहां प्रीप्रोसेसर हेडर फ़ाइलों के लिए खोज करता है, तो -v विकल्प द्वारा मुद्रित निर्देशिका सूची प्रीप्रोसेसर द्वारा उपयोग किए जाने वाले वास्तविक खोज पथ को दर्शाती है।

ध्यान दें कि आप पूर्वप्रोसेसर को -nostdinc विकल्प के साथ किसी भी डिफ़ॉल्ट सिस्टम हेडर निर्देशिका को खोजने से रोक सकते हैं। यह तब उपयोगी होता है जब आप एक ऑपरेटिंग सिस्टम कर्नेल या किसी अन्य प्रोग्राम को संकलित कर रहे होते हैं जो मानक C लाइब्रेरी सुविधाओं का उपयोग नहीं करता है, या मानक लाइब्रेरी का ही उपयोग करता है।

अगला: एक बार-केवल हेडर , पिछला: ऑपरेशन शामिल करें , ऊपर: हैडर फाइलें [ Contents ] [ Index ]