मैं एक नया C ++ प्रोजेक्ट शुरू कर रहा हूं और C ++ स्टाइल में नवीनतम की तलाश शुरू कर रहा हूं। मैं फ़ाइल नामकरण के बारे में यहाँ समाप्त हो गया और मैंने सोचा कि मैं अपनी पसंद के साथ कैसे आऊंगा। यहाँ जाता हैं:
स्ट्रॉस्ट्रप इसे एक तकनीकी विचार की तुलना में अधिक व्यावसायिक विचार के रूप में देखता है ।
उनकी सलाह के बाद, आइए देखें कि टूलचिन क्या उम्मीद करते हैं।
UNIX / Linux के लिए, आप निम्न डिफ़ॉल्ट GNU नियम बना सकते हैं .cc फ़ाइल नाम प्रत्यय के पक्ष में नियम बना सकते हैं, क्योंकि .cpp और .C नियम सिर्फ उपनाम हैं।
$ make -p | egrep COMPILE[^=]+=
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
COMPILE.cpp = $(COMPILE.cc)
COMPILE.C = $(COMPILE.cc)
(नोट: कोई डिफ़ॉल्ट COMPILE.cxx उपनाम नहीं है)
इसलिए यदि आप UNIX / Linux को लक्षित कर रहे हैं, तो .cc और .cpp दोनों ही बहुत अच्छे विकल्प हैं।
विंडोज को लक्षित करते समय, आप .C के साथ परेशानी की तलाश कर रहे हैं, क्योंकि इसकी फाइल सिस्टम केस-असंवेदनशील है। और आपके लिए यह नोट करना महत्वपूर्ण हो सकता है कि Visual Studio .cpp प्रत्यय का पक्षधर है
MacOS को लक्षित करते समय, ध्यान दें कि Xcode पसंद करता है। .cpp / .hpp (Xcode 10.1 पर जांचा जाता है)। आप हमेशा .h प्रयोग करने के लिए हेडर टेम्पलेट बदल सकते हैं।
इसके लायक क्या है, आप अपने निर्णय को उन आधार आधारों पर भी आधार बना सकते हैं जिन्हें आप पसंद करते हैं। Google उदाहरण के लिए .cc और LLVM libc ++ का उपयोग करता है।
हेडर फ़ाइलों के बारे में क्या? उन्हें C या C ++ फ़ाइल के संदर्भ में संकलित किया गया है, इसलिए कोई भी कंपाइलर या बिल्ड सिस्टम .hpp से .h को अलग करने की आवश्यकता नहीं है। आपके संपादक / आईडीई द्वारा सिंटैक्स हाइलाइटिंग और स्वचालित इंडेंटेशन एक मुद्दा हो सकता है, लेकिन यह सभी .h फ़ाइलों को C ++ मोड के साथ जोड़ने के लिए निश्चित है। एक उदाहरण के रूप में, लिनक्स पर मेरा एमएसीएस विन्यास सी। ++ मोड में सभी .h फ़ाइलों को लोड करता है और यह सी हेडर को ठीक करता है। इसके अलावा, C और C ++ को मिलाते समय, आप इस सलाह का पालन कर सकते हैं ।
मेरा व्यक्तिगत निष्कर्ष : .cpp / .h कम से कम प्रतिरोध का मार्ग है।