Я видел код С++, сохраненный как файлы .cc , так и .cpp . Есть ли разница между двумя?
Руководство по стилю Google, кажется, предлагает .cc , но не дает никаких объяснений.
В основном я занимаюсь программами в Linux-системах.
ОТВЕТЫ
Ответ 1
В конце дня это не имеет значения, поскольку компиляторы С++ могут обрабатывать файлы в любом формате. Если это реальная проблема в вашей команде, переверните монету и перейдите к фактической работе.
Ответ 2
GNU GCC распознает все следующие файлы С++ и будет использовать компиляцию С++ независимо от того, вы используете ее через gcc или g++: .C , .cc , .cpp , .cpp , .c++ , .cp или .cxx .
Обратите внимание на .C — дело имеет значение в GCC, .C является файлом C, тогда как .C является С++ файлом (если вы разрешите компилятору решить, что он компилирует).
GCC также поддерживает другие суффиксы для указания специальной обработки, например, файл .ii будет скомпилирован как С++, но не предварительно обработан (предназначен для отдельного предварительно обработанного кода). Все признанные суффиксы подробно описаны в gcc.gnu.org
Установка пиратского софта | Что грозит за программы с торрентов?
Ответ 3
Отличный совет, который следует использовать для make файла и других инструментов, учитывая, что некомпиляторские инструменты при принятии решения о том, какое расширение использовать, является отличным подходом, помогающим найти ответ, который работает для вас.
Я просто хотел добавить следующее, чтобы помочь с некоторыми .cc vs .cpp информацией, которую я нашел. Ниже приведены расширения, разбитые по разным средам (из книги «C++ Primer Plus»):
Unix использует: .C , .cc , .cxx , .c
GNU C++ использует: .C , .cc , .cxx , .cpp .C++
Digital Mars использует: .cpp , .cxx
Borland C++ использует: .cpp
Watcom использует: .cpp
Microsoft Visual C++ использует: .cpp , .cxx , .cc
Metrowerks CodeWarrior использует: .cpp , .cp , .cc , .cxx .C++
Разные среды поддерживают разные расширения. Я тоже искал, чтобы ответить на этот вопрос и нашел этот пост. Основываясь на этом посте, я думаю, что я мог бы пойти с .hpp и .cpp для простоты кросс-платформенного/кросс-инструментального распознавания.
Ответ 4
.cpp является рекомендуемым расширением для С++, насколько мне известно. Некоторые люди даже рекомендуют использовать .hpp для заголовков С++, чтобы отличать их от C.
Хотя компилятору все равно, что вы делаете, это личные предпочтения.
Ответ 5
Я лично использую расширение .cc для файлов реализации, .hh для заголовков и .inl для встроенных/шаблонов.
Как говорилось ранее, это в основном вопрос вкуса.
Из того, что я видел, .cc , похоже, больше ориентирован на проекты с открытым исходным кодом, поскольку он рекомендуется в некоторых великолепных стилях кодирования программного обеспечения с открытым исходным кодом, тогда как. cpp кажется более Windowish.
Как уже упоминалось, это «из того, что я видел», это может быть неправильно. Это просто, что все проекты Windows, над которыми я работал, использовали .cpp , а много проектов с открытым исходным кодом (которые в основном относятся к unix-like) используют .cc .
Што за программа?
Примеры стилей кодирования с использованием .cc :
Ответ 6
Другие используемые расширения файлов включают .cxx и .C (капитал C). Я считаю, что Бьярне Страуступ первоначально использовал .C . .cpp — это имя препроцессора C, поэтому ему не повезло, что он также использовался для С++.
Ответ 7
Просто следуйте за соглашением, используемым проектом/командой.
Ответ 8
Другим вариантом является .cxx , где предполагается, что x является плюсом, повернутым на 45 °.
Windows, Mac и Linux поддерживают .c++ , поэтому мы должны просто использовать это.
Ответ 9
Я никогда не видел .cc в любом проекте, над которым я работал, но по всем техническим требованиям компилятору все равно.
Кто будет заботиться о том, чтобы разработчики работали над вашим источником, поэтому мое эмпирическое правило — это то, что вам нравится в вашей команде. Если ваша «команда» — сообщество с открытым исходным кодом, переходите к чему-то очень распространенному, из которых .cpp кажется фаворитом.
Ответ 10
Несколько человек, говорящих .cc , ничего не стоят? Возможно. С++ начал жизнь как «C с классами».
Верно, что .cc и .cpp также являются именами команд в большинстве систем Unix (c компилятор и c препроцессор соответственно).
Я использую .cpp исключительно, но я начал работать в Windows. .cc — скорее соглашение Unix, хотя я вижу его все меньше и меньше. У GNU make есть правила для .cpp , поэтому, вероятно, предпочтительнее, он будет работать по умолчанию как в Windows, так и во всем остальном. С другой стороны, современный С++ не использует никакого расширения для заголовков, мне это действительно не нравится. Все мои проекты используют .h для файлов заголовков, и они максимально поддерживают как C, так и С++ с помощью extern «C» и тестирования __cplusplus .
Ответ 11
Не важно, какое из этих расширений вы будете использовать. Выберите то, что вам больше нравится, просто согласитесь с именованием. Единственное исключение, о котором я знаю в этом соглашении об именах, заключается в том, что я не мог сделать WinDDK (или это WDK сейчас?) Для компиляции файлов .cc . На Linux это вряд ли проблема.
Ответ 12
Как и в большинстве конвенций стиля, есть только две вещи:
- Будьте в курсе того, что вы используете, где это возможно.
- Не создавайте ничего, что зависит от конкретного выбора.
Возможно, это противоречит, но каждый из них имеет ценность по своим причинам.
Ответ 13
.C и .cc кажутся стандартными для (нескольких) Unix-ориентированных программ на С++, которые я видел. Я всегда использовал .cpp сам, поскольку я действительно работаю только на Windows, и это был стандарт там, так как навсегда.
Я рекомендую .cpp лично, потому что. это означает «C Plus Plus». Разумеется, жизненно важно, чтобы расширения файлов были аббревиатурами, но если это обоснование окажется недостаточно убедительным, другие важные вещи — это не использование ключа сдвига (который исключает .C и .c++ ) и избегает метасимволов регулярного выражения, где это возможно (что исключает .c++ — к сожалению, вы действительно не можете избежать . , конечно.).
Это не исключает .cc , поэтому, хотя это действительно не означает ничего (или делает это?), это, вероятно, хороший выбор для Linux-ориентированного кода.
Ответ 14
Я использую .C и .h для источника и заголовка, соответственно. Одна хорошая вещь с этим выбором заключается в том, что в командной строке его легко использовать *.[Ch] для выбора всех файлов кода. Использование .C может быть проблемой для нечувствительных к регистру файловых систем, но если у вас есть foo.c и foo.c в том же каталоге, вы все равно заслуживаете того, что получите:)
Ответ 15
cpp = c plus plus, и поэтому я предпочитаю, что означает cc или cxx?
Ответ 16
Расширение .cc необходимо для использования неявных правил в make файлах. Просмотрите эти ссылки, чтобы лучше понять make файлы, но посмотрите в основном второй, так как он ясно говорит о полезности расширения .cc:
Я только что узнал об этом сейчас.
Ответ 17
Я начинаю новый проект C++ и начинаю искать последние в стиле C++. Я попал сюда по поводу именования файлов и подумал, что поделюсь своим мнением. Вот оно:
Следуя его совету, давайте проверим, чего ожидают цепочки инструментов.
Для UNIX/Linux вы можете интерпретировать следующие стандартные правила GNU make как предпочтение суффиксу имени файла .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 — очень хорошие варианты.
Ориентируясь на Windows, вы ищете проблемы с .C, так как ее файловая система не учитывает регистр. И вам может быть важно отметить, что Visual Studio предпочитает суффикс .cpp
При нацеливании на macOS обратите внимание, что Xcode предпочитает .cpp/.hpp (только что проверено на Xcode 10.1). Вы всегда можете изменить шаблон заголовка, чтобы использовать .h.
Для чего бы это ни стоило, вы также можете основывать свое решение на кодовых базах, которые вам нравятся. Google использует .cc, а LLVM lib C++ использует, например,.cpp.
Как насчет заголовочных файлов? Они скомпилированы в контексте файла C или C++, поэтому компилятору или системе сборки не нужно отличать .h от .hpp. Однако может возникнуть проблема с подсветкой синтаксиса и автоматическим отступом вашего редактора /IDE, но это можно исправить, связав все файлы .h с режимом C++. Например, моя конфигурация emacs в Linux загружает все файлы .h в режиме C++ и прекрасно редактирует заголовки C. Кроме того, при смешивании C и C++ вы можете следовать этому совету.
Мой личный вывод: .cpp/.h — путь наименьшего сопротивления.
Ответ 18
CC — это расширение файла исходного кода, используемого в программах c++. Эти файлы CC можно редактировать с помощью различных текстовых редакторов, но они не читаются.
Источник: utyatnishna.ru
Что означает значек «СС» около названия видео в ютубе?
открываю менеджер видео в своем профиле, около некоторых видео файлов стоит знак «СС». Раньше его не было или я не замечала. что это значит?
комментировать
в избранное
Эйяфь ядлай ёкюдл ь [96.7K]
6 лет назад
Этот значок означает, что в видео встроены скрытые субтитры. Вот так он выглядит —
СС — это Closed Caption, скрытые субтитры.
Нажав на значок субтитров в самом видео,
можно включить их. Правда, в большинстве случаев они автоматические и часто смысла в них никакого нет. Чисто поржать над тем, как программа может исковеркать слова и фразы.
система выбрала этот ответ лучшим
комментировать
в избранное ссылка отблагодарить
Max19 99 [46.6K]
более года назад
Если в самом верху на видео в YouTube (где три точки) есть знак «cc», то это означает — что у данного ролика присутствуют субтитры. Очень полезная штука для глухонемых, а также если ролик на английском языке. Достаточно прикоснуться к этому значку и внизу экрана будут идти титры по мере их необходимости.
комментировать
в избранное ссылка отблагодарить
M e l i s s a [67.6K]
5 лет назад
Значок СС под вашим или чужими видео означает Субтитры, это очень полезная функция, благодаря которой ваш видеоролик набирает больше просмотров, чем обычное видео без субтитров. Если видео длинною до 8 минут, обычно субтитры автоматически встраиваются в ваше видео, но желательно потратить пару минут и написать слова правильно, так как обычно автоматический перевод неправильный. С субтитрами ваше видео могут просматривать по всему миру, а субтитры тем временем будут ваше видео переводить автоматически на родной язык пользователя, который смотри ваш ролик.
Видео, которое длится больше 10 минут, субтитры уже автоматически не создаются, вам нужно самому поработать, вначале это тяжело и не понятно, но спустя несколько отредактированных видео, вы наловчитесь и будете субтитры вставлять очень быстро.
Субтитры помогают не только на Ютубе продвинуть ваш видеоролик, но и выдаст ваш ролик в любом поисковике на первых строках, поэтому лучше делать видео с субтитрами.
Источник: www.bolshoyvopros.ru
Что такое Cc и Bcc, и как их использовать при поддержке клиентов?
Если вы активно используете почту при общении с клиентами и коллегами, редкий день обходится без копий. Они являются неотъемлемой частью рабочей переписки. Поэтому многие клиенты, перебираясь на Омнидеск со старой доброй почты, часто спрашивали о поддержке Cc и Bcc. До появления этой функциональности мы получили 47 (!) просьб добавить её. Цифра внушительная, ведь о своих потребностях и вопросах в лучшем случае пишут 5-7% желающих.
Перед тем, как перейти к подробностям нашей реализации копий, давайте разберёмся, что они собой представляют.
Типы получателей письма
To: (кому) — основной получатель письма.
Cc: (копия, carbon copy) — вторичные получатели письма, которым направляется копия. Они видят и знают о наличии друг друга.
Bcc: (скрытая копия, blind carbon copy) — скрытые получатели письма, чьи адреса не показываются другим получателям.
Примеры использования копий
а. Пользователь обратился за помощью и попросил отправлять ответы как на рабочую, так и личную почту. Вы указываете его личный адрес в копии (Cc), чтобы он смог отвечать с любого адреса и в каждом из них видеть всю переписку.
б. Клиент оплатил консалтинг/поддержку/разработку, и вы регулярно общаетесь с его сотрудниками. Вы добавляете его в копию (Cc), чтобы он получал все ваши ответы, мог в любой момент вклиниться в переписку и оценить качество предоставляемых вами услуг.
в. Руководитель хочет следить за общением поддержки с VIP-клиентами. В обращениях от этих клиентов руководитель добавляется в скрытую копию (Bcc), чтобы он всегда получал ваши ответы (с историей переписки).
Прелесть в том, что клиент не знает о «слежке», а руководитель может ответить лично вам и, к примеру, сделать замечание 🙂
г. Клиент обращается к вам, чтобы обсудить получение скидки и способы оплаты. Он сразу добавляет своего бухгалтера в копию (Cc), чтобы тот мог следить за ходом общения и принять эстафету в нужный момент.
Как мы реализовали поддержку копий?
Приведённые выше примеры описывают лишь некоторые сценарии, которые клиенты «продавали» нам, аргументируя необходимость поддержки копий на сервисе. Мы реализовали все стандартные моменты, но не забыли добавить и несколько полезных фишек. Рассмотрим всё по порядку.
Базовая функциональность
1) Справа от названия поля «Получатель» мы разместили две ссылки для добавления копий — «Сс» и «Bcc».
2) При нажатии на «Cc» появляется поле «Копия», и пропадает ссылка «Cc».
3) При нажатии на «Bcc» появляется поле «Скрытая копия», и пропадает ссылка «Bcc».
4) Если нажать на ссылку «убрать», то поле пропадает, а ссылка «Сс»/«Всс» возвращается на своё место (справа от названия поля «Получатель»).
5) Когда сотрудник добавляет адрес в обычную копию (Cc), его ответ отправляется на основной адрес из поля «Получатель» и на адрес из поля «Копия». В этом случае оба пользователя видят, что письмо было доставлено на два адреса. Каждый из них может ответить как сотруднику, так и сотруднику + другому пользователю.
6) Когда сотрудник добавляет адрес в скрытую копию (Bcc), его ответ отправляется на основной адрес из поля «Получатель» и на адрес из поля «Скрытая копия». В этом случае основной пользователь видит, что письмо пришло только ему, поэтому его ответ может быть отправлен только сотруднику.
При этом пользователь из скрытой копии видит, кто был основным получателем, и может отправить письмо как сотруднику, так и сотруднику + основному получателю.
7) Поддержка копий работает и в обратном направлении. Если пользователь отправляет запрос (или новый ответ в текущую переписку) и добавляет другой адрес в Cc, мы автоматически прописываем этот адрес в поле «Копия», чтобы при ответе сотрудника письмо отправлялось на оба адреса.
Полезные фишки
8) Все изменения в полях «Получатель», «Копия» и «Скрытая копия» фиксируются в истории действий.
9) Для каждого обращения мы запоминаем все адреса, которые указывались в полях «Получатель», «Копия» и «Скрытая копия». Поэтому после удаления адреса из поля его можно легко вернуть. Достаточно кликнуть в нужном поле, и мы предложим выбрать адрес из выпадающего списка.
10) Когда пользователь из скрытой копии отвечает сотруднику и основному пользователю, его письмо добавляется в обращение в виде обычного ответа. Если же он отвечает только сотруднику, тогда его письмо добавляется в обращение в качестве заметки, которая не видна основному пользователю (при просмотре переписки по обращению в своём аккаунте).
11) В правилах для входящих обращений мы добавили условие «Копия (Cc) обращения», чтобы можно было отслеживать наличие определённого адреса (или домена) в копии и автоматически выполнять нужные действия.
12) Во всех типах правил появились два новых действия — «Добавить в копию» и «Добавить в скрытую копию» на случай, если требуется добавить адреса в копии, когда обращение соответствует условиям правила.
Вот такие полезные копии. Если вы раньше не использовали их, теперь обязательно начнёте 🙂
- Блог компании Omnidesk
- Управление продуктом
Источник: habr.com