В чем разница? between.cc и...суффикс файла cpp? [дубликат]


этот вопрос уже есть ответ здесь:

в чем разница между .cc и .cpp файл расширений?

из Google я узнал, что они оба из языка C++, но я не уверен в различиях между ними.

4 76
c++

4 ответа:

конвенций.

исторически суффикс для исходного файла C++ был .C. Это вызвало несколько проблем при первом портировании C++ в систему, где case не был значимым в имени файла.

разные пользователи приняли разные решения:.cc, .cpp,.cxx и, возможно, другие. Сегодня, за пределами Unix мир, это в основном .cpp. Unix, кажется, использует .cc чаще.

для заголовков ситуация еще более запутанная: по каким причины, по которым самые ранние авторы C++ решили не различать между заголовками для C и для C++, и использовать .h.

это не вызывает никаких проблем, если в проекте нет C, но когда вы начните иметь дело с обоими, обычно это хорошая идея различать заголовки, которые могут быть использованы в C (.h) а те, которые не могут (.hh или .hpp).

кроме того, в C++, многие пользователи (включая меня) предпочитают удерживать шаблон источники и встроенные функции в отдельном файле. Который, хотя, строго говоря, заголовочный файл, как правило, получает еще один набор условностей (.inl,.tcc и, вероятно, много другие.)

в случае заголовков это не имеет абсолютно никакого значения для компилятора.

в случае исходных файлов разные окончания заставят компилятор предположить другое язык. Но это обычно можно переопределить, и я использовал .cc с VC++ задолго до VC++ распознал его как C++.

нет никакой разницы. Они точно такие же.

технически для компилятора нет разницы. Однако некоторые компиляторы и / или системы сборки догадаются, как скомпилировать ваши файлы на основе расширения и могут или не могут обнаружить "cc" (или "cpp", но это более редко, я думаю) как файл c++.

на самом деле все зависит от того, что вы и ваш компилятор предпочитаете. Между ними нет никакой разницы.