Yeni bir C ++ projesi başlatıyorum ve en son C ++ tarzında aramaya başladım. Buraya dosya adlandırma konusunda son verdim ve seçimimi nasıl bulduğumu paylaşacağımı düşündüm. İşte gidiyor:
Stroustrup bunu teknik bir düşünmeden ziyade bir ticari düşünce olarak görüyor .
Tavsiyesini takiben, alet zincirlerinin ne beklediğini kontrol edelim.
UNIX / Linux için, aşağıdaki varsayılan GNU yapma kurallarını .cc dosya adı sonekini tercih etmek olarak yorumlayabilirsiniz, çünkü .cpp ve .C kuralları yalnızca takma adlardır:
$ make -p | egrep COMPILE[^=]+=
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
COMPILE.cpp = $(COMPILE.cc)
COMPILE.C = $(COMPILE.cc)
(Not: varsayılan COMPILE.cxx diğer adı yoktur)
UNIX / Linux'u hedefliyorsanız, hem .cc hem de .cpp çok iyi seçeneklerdir.
Windows'u hedeflerken, dosya sistemi büyük / küçük harfe duyarlı olmadığından .C ile ilgili sorun arıyorsunuz. Ve Visual Studio'nun .cpp son ekini desteklediğini not etmeniz önemlidir
MacOS'u hedeflerken, Xcode'un .cpp / .hpp'yi tercih ettiğini unutmayın (Xcode 10.1'de kontrol edilmiştir). Üstbilgi şablonunu her zaman .h kullanmak üzere değiştirebilirsiniz.
Değeri ne olursa olsun, kararınızı istediğiniz kod tabanlarına dayandırabilirsiniz. Google .cc ve LLVM libc ++ kullanır, örneğin .cpp kullanır.
Başlık dosyaları ne olacak? Bir C veya C ++ dosyası bağlamında derlenirler, bu nedenle .hpp dosyasını .hpp'den ayırmak için derleyici veya derleme sistemi gerekmez. Bununla birlikte, sözdizimi vurgulama ve düzenleyiciniz / IDE'niz tarafından otomatik girinti bir sorun olabilir, ancak bu, tüm .h dosyalarının bir C ++ moduna ilişkilendirilmesiyle giderilmiştir. Örnek olarak, Linux'taki emacs yapılandırmam tüm .h dosyalarını C ++ modunda yükler ve C başlıklarını iyi düzenler. Bunun ötesinde, C ve C ++ 'ı karıştırırken bu tavsiyeyi takip edebilirsiniz .
Benim kişisel sonucum : .cpp / .h en az direniş yoludur.