2013-09-03 7 views
61

.cc और .cpp फ़ाइल एक्सटेंशन के बीच क्या अंतर है?.cc और .cpp फ़ाइल प्रत्यय के बीच क्या अंतर है?

Google से, मैंने सीखा कि वे दोनों सी ++ भाषा से हैं, लेकिन मुझे उनके बीच मतभेदों की अनिश्चितता है।

+27

'.cpp' 1 वर्ण लंबा – Prix

+4

जोड़ा गया बोनस के लिए,' .cp', '.C++', '.cxx' और' .C' भी है। – Hasturkun

+0

चूंकि लिनक्स कर्नेल सी में लिखा गया है, क्या आप वाकई उन '.cc' फ़ाइलों को C++ में भी थे? – user4815162342

उत्तर

95

सम्मेलन।

ऐतिहासिक रूप से, सी ++ स्रोत फ़ाइल के लिए प्रत्यय .C था। इसने कुछ समस्याएं पहली बार सी ++ को पर एक सिस्टम में पोर्ट किया था जहां फ़ाइल नाम में मामला महत्वपूर्ण नहीं था। .cc, .cpp, .cxx और संभवतः दूसरों:

भिन्न उपयोगकर्ता भिन्न समाधान अपनाया। आज, यूनिक्स दुनिया के बाहर, यह अधिकतर .cpp है। यूनिक्स .cc अधिक बार उपयोग करता प्रतीत होता है।

हेडर के लिए, स्थिति और भी भ्रामक है: जो कुछ के लिए कारणों से, जल्द से जल्द सी ++ लेखकों सी के लिए और C++ के लिए हेडर के बीच भेद करने के लिए नहीं करने का फैसला, और .h इस्तेमाल किया।

यह किसी भी समस्याओं के कारण यह नहीं है कि अगर वहाँ परियोजना में कोई सी है, लेकिन जब आप दोनों के साथ सौदा करने के लिए शुरू , यह आमतौर पर एक अच्छा विचार है हेडर जो सी में इस्तेमाल किया जा सकता के बीच अंतर करना (.h) और जो नहीं कर सकते (.hh या .hpp)।

इसके अतिरिक्त, सी ++ में, बहुत सारे उपयोगकर्ता (स्वयं सहित) टेम्पलेट स्रोतों और इनलाइन फ़ंक्शंस को एक अलग फ़ाइल में रखना पसंद करते हैं। जो, सख्ती से हेडर फ़ाइल बोलते समय, सम्मेलनों का सेट (.inl, .tcc और शायद अन्य) प्राप्त करने के लिए मिलता है।

हेडर के मामले में यह संकलक के लिए बिल्कुल कोई फर्क नहीं पड़ता है।

स्रोत फ़ाइलों के मामले में अलग-अलग अंत में संकलक एक अलग भाषा मानने का कारण बनेंगे। लेकिन यह आम तौर पर ओवरराइड किया जा सकता है, और मैंने .cc का उपयोग वीसी ++ के साथ किया था इससे पहले कि वीसी ++ ने इसे सी ++ के रूप में पहचाना।

13

कोई फर्क नहीं पड़ता। वे बिल्कुल वही हैं।

+0

आप किस संयोजन का उपयोग कर रहे हैं? निश्चित रूप से यह फिर से डेनिश है :) – sehe

2

असल में यह सब आपके और आपके कंपाइलर को पसंद करते हैं इस पर निर्भर करता है। उनके बीच कोई अंतर नहीं है।

7

तकनीकी रूप से कंपाइलर के लिए कोई अंतर नहीं है। हालांकि, कुछ कंपाइलर्स और/या बिल्ड सिस्टम अनुमान लगाएंगे कि एक्सटेंशन के आधार पर आपकी फ़ाइलों को कैसे संकलित करना है और सी ++ फ़ाइल के रूप में "सीसी" (या "सीपीपी" का पता लगाया जा सकता है या नहीं, लेकिन यह शायद दुर्लभ है)।

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