2008-10-05 17 views

उत्तर

43

#import माइक्रोसॉफ्ट-विशिष्ट चीज है, जाहिर है कि COM या .NET सामान के लिए।

#include एक मानक सी/सी ++ प्रीप्रोसेसर स्टेटमेंट है, जो आपके स्रोत कोड फ़ाइल में हेडर (या कभी-कभी अन्य स्रोत कोड) फ़ाइलों को शामिल करने के लिए उपयोग किया जाता है।

+3

यह सच नहीं है है। #import निर्देश आधिकारिक तौर पर संस्करण 3 में जीसीसी टीम द्वारा अपरिचित किया गया था।4 और जीसीसी के पिछले सभी संस्करणों में 99% समय का काम करता है जो –

+5

का समर्थन करता है ... जो #import –

+1

का समर्थन करता है उत्सुक, मुझे इसके बारे में पता नहीं था। शायद मुझे यह कहना चाहिए था कि यह एक COM- और .NET- विशिष्ट चीज़ है। –

66

आयात:#import प्रकार पुस्तकालयों या .tlbs (COM सामान) के लिए है।

टाइप लाइब्रेरी की सामग्री को C++ कक्षाओं में परिवर्तित किया जाता है, जो आपके लिए स्वचालित रूप से COM इंटरफेस का वर्णन करता है, और फिर इसे आपकी फ़ाइल में शामिल किया जाता है।

#import निर्देश माइक्रोसॉफ्ट द्वारा सी ++ भाषा के विस्तार के रूप में पेश किया गया था। आप इसके बारे में this MSDN article पर पढ़ सकते हैं।

#import निर्देश का उपयोग .NET/CLI सामान के साथ भी किया जाता है।

जीसीसी में आयात: जीसीसी में आयात वीसी ++ में आयात से अलग है। यह केवल एक बार हेडर को शामिल करने का एक आसान तरीका है। (वीसी ++ में और जीसीसी आप #pragma के माध्यम से यह कर सकते हैं एक बार के साथ-साथ)

#import निर्देश आधिकारिक तौर पर संस्करण 3.4 में जीसीसी टीम द्वारा undeprecated किया गया था और जीसीसी के सभी पिछले संस्करण जो

समर्थन में समय के ठीक 99% काम करता है

शामिल करें:#include अधिकतर शीर्षलेख फ़ाइलों के लिए है, लेकिन सामग्री को आपकी वर्तमान फ़ाइल में प्रीपेड करने के लिए है। #include सी ++ मानक का हिस्सा है। आप इसके बारे में this MSDN article पर पढ़ सकते हैं।

4

आयात भी n2073, Modules in C++ से संबद्ध कीवर्ड में से एक, सितंबर 2006 में Daveed Vandevoorde द्वारा भाषा समिति का प्रस्ताव मैं एक भाषा गीक के लिए पर्याप्त पता करने के लिए नहीं कर रहा हूँ कि अगर प्रस्ताव हटाया निश्चित था या यह का इंतजार कर रहा है, तो था एक कार्यान्वयन (अवधारणा का सबूत) लेखक या किसी और से ...

+0

डेविड उस समय एक ईडीजी कर्मचारी था, इसलिए मैं उम्मीद करता हूं कि उनके पास इतना काम करने वाला कोड होगा। – MSalters

+1

मुझे यकीन है कि उन्होंने अपेक्षित लेगवर्क किया है, क्योंकि '#clude' से आयात तंत्र में स्थानांतरित करना बहुत अच्छा होगा। लेकिन मैंने इस फीचर पर नारी को देखा है, और मुझे पूरा यकीन है कि यह सी ++ 0 एक्स में नहीं है। शायद मैं रिटायर होने से कुछ समय पहले; ^) ~ –

+1

जैसा कि मुझे डर था, यह कुछ साल बाहर है: [सी ++ 09 में मॉड्यूल?] (Http://groups.google.com/group/comp.lang.c++। मॉडरेट/संदेश/5ce3042a8de03284? dmode = स्रोत) –

7

#import समग्र सामान्य

#ifndef ... 
#define ... 
#include ... 
#endif 

काम के आसपास के लिए एक समाधान है। #import में केवल एक फ़ाइल शामिल है यदि इसे पहले शामिल नहीं किया गया है।

यह ध्यान देने योग्य हो सकता है कि ऐप्पल का उद्देश्य-सी भी #import कथन का उपयोग करता है।

3

कृपया ध्यान दें कि जीसीसी 4.1, #import बहिष्कृत है। आप इसका इस्तेमाल तो आपको यह चेतावनी मिल जाएगा:

#import एक पदावनत जीसीसी विस्तार

संबंधित मुद्दे