В чем разница между расширениями .cc
и .cpp
?
Из Google я узнал, что они оба с языка С++, но я не уверен в различиях между ними.
В чем разница между расширениями .cc
и .cpp
?
Из Google я узнал, что они оба с языка С++, но я не уверен в различиях между ними.
конвенции.
Исторически суффикс для исходного файла С++ был .C
.
Это вызвало несколько проблем при первом переносе С++
к системе, где случай не был значимым в имени файла.
Различные пользователи приняли различные решения: .cc
,
.cpp
, .cxx
и, возможно, другие. Сегодня, за пределами Unix
мир, это в основном .cpp
. Unix чаще использует .cc
.
Для заголовков ситуация еще более запутанна: для чего угодно
причины, самые ранние авторы С++ решили не различать
между заголовками для C и для С++ и используется .h
.
Это не вызывает никаких проблем, если в проекте нет C, но когда вы
начать иметь дело с обоими, обычно это хорошая идея
различать заголовки, которые могут использоваться в C (.h
)
и те, которые не могут (.hh
или .hpp
).
Кроме того, на С++ многие пользователи (включая меня) предпочитают хранить шаблон
источников и встроенных функций в отдельный файл. Который,
строго говоря, заголовочный файл, имеет тенденцию получать еще один
набор условностей (.inl
, .tcc
и, вероятно, много
другие).
В случае заголовков это не имеет никакого значения для компилятора.
В случае исходных файлов разные окончания заставят компилятор принять другое
язык. Но это обычно можно переопределить, и я использовал .cc
с VС++ задолго до того, как VС++ распознал его как С++.
Нет никакой разницы. Они точно такие же.
Технически для компилятора нет никакой разницы. Тем не менее, некоторые компиляторы и/или системы сборки угадают, как скомпилировать ваши файлы на основе расширения и могут или не могут обнаружить "cc" (или "cpp", но это реже, я думаю) как файл С++.
На самом деле все зависит от того, что вы и ваш компилятор предпочитаете. Между ними нет никакой разницы.