чем расширение .c отличается от .cpp?

nomad

Чем программы, код которых написан в файлах с расширением .с отличаются от программ, код которых написан в в файлах с расширением .срр?

Elina74

некоторые компиляторы понимают это так: какое расширение - так и компилить... С/С++

nomad

Не совсем понятно...
В visual C++ и просто в С работают файлы с расширением как .с так и .срр?
Получается, что разница будет только для компилятора? Или не только?

bleyman

Получается, что разница будет только для компилятора?
А для кого ещё может быть разница?

mira-bella

Чем программы, код которых написан в файлах с расширением .с отличаются от программ, код которых написан в в файлах с расширением .срр?
разумеется *.c воспринимается компилятором как прога на C
*.cpp воспринимается компилятором как прога на C++
Поскольку большинство C прог одновременно являются корректными прогами на C++, и C-шные заголовочные файлы обычно доступны для использования в C++ (хотя стандартные C-шные заголовки не обязаны быть доступны с теми же именами эти C-шные проги компилируются C++ компилятором.
Большинство C++ прог наоборот не будут компилироваться C компилятором.

vladan67

бывают проги на с, которые не компилятся при изменении расширения на срр

ElenaMandM

если на заборе написать $%?, забор все равно останется забором
в таких случаях надо самому определиться, чем компилить: gcc или g++

Werdna

1) У файлов нет никаких "расширений". термин некорректный, есть суффиксы у имен файлов.
2) Как и везде, суффикс обычно подсказывает, что же в том файле. Проги на си имеют суффикс "c", на с++ — обычно "C", "cpp", "cxx".

ppplva

Некоторые проги на С++ тоже имеют суффикс "c". Например: "test.cc". Так что нефиг придираться к вполне устоявшимся терминам

mira-bella

бывают проги на с, которые не компилятся при изменении расширения на срр
разумеется
именно потому я написал "большинство", а не "все"

mira-bella

Проги на си имеют суффикс "c", на с++ — обычно "C", "cpp", "cxx".

подредактировал бы косяки что ли
очевидно
Проги на си имеют суффикс ".c", на с++ — обычно ".C", ".cpp", ".cxx", ".cc".

Ivan8209

Для всех сред, которые хотят что-нибудь понять, исходя из суффикса файла.
---
...Я работаю антинаучным аферистом...

erotic

Погодь, если я не ошибаюсь, любая прога на C одновременно является корректной прогой на C++, т.ч. должна компилится при обоих суффиксах.

Dasar

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

void main
{
int class = 1;
std::cout << class << std::endl;
}

erotic

В С есть пространства имен?

Dasar

когда последний раз я этим интересовался - не было

yolki

std::cout << class << std::endl;
это в С не скомпилируется

Dasar

угу, тормознул, не хотелось семантику printf-а вспоминать.

alexkravchuk

>> Погодь, если я не ошибаюсь, любая прога на C одновременно является корректной прогой на C++, т.ч. должна компилится при обоих суффиксах.
> в общем случае - верно, но есть исключения.
есть и другие исключения, в обычном С не так часто требуется явное приведение типов. Например, код
int *a;
a = malloc(1000000*sizeof(int;

корректен в C, но ошибочен в C++, и с расширением cpp компилироваться не будет. И такое встречается во вполне реальных программах.

vertyal17

+1 Дада точно, он прав он прав
Недавно с таким сталкивался
Оставить комментарий
Имя или ник:
Комментарий: