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

В чем разница между расширениями .cc и .cpp?

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

Ответ 1

конвенции.

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

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

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

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

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

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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