Страница 2 из 3

Re: Чем gcc отличается от g++

Добавлено: 03.03.2008 13:17
Шпунтик
Uncle_Theodore писал(а):
03.03.2008 02:39
Чушь собачья. Никогда ничего подобного я не говорил. Я говорил, что она для этого не предназначена.

Значит это -
Я никогда подобного не говорил. Хотя бы потому что никакого "режима компиляции C++ кода в gcc" не существует. Вся эта фраза -- полная бессмыслица.

- написал кто-то другой :)

Исходя из всего вышенаписанного можно сделать вывод, что g++ по сути не является компилятором, это лишь менеджер для компилятора gcc.

Re: Чем gcc отличается от g++

Добавлено: 03.03.2008 22:02
andreas90
Шпунтик писал(а):
03.03.2008 13:17
Uncle_Theodore писал(а):
03.03.2008 02:39
Чушь собачья. Никогда ничего подобного я не говорил. Я говорил, что она для этого не предназначена.

Значит это -
Я никогда подобного не говорил. Хотя бы потому что никакого "режима компиляции C++ кода в gcc" не существует. Вся эта фраза -- полная бессмыслица.

- написал кто-то другой :)

Исходя из всего вышенаписанного можно сделать вывод, что g++ по сути не является компилятором, это лишь менеджер для компилятора gcc.

Дядя Теодор не может четко ответить на мой вопрос.

Re: Чем gcc отличается от g++

Добавлено: 04.03.2008 12:25
landrew.xp
andreas90 писал(а):
03.03.2008 22:02
Шпунтик писал(а):
03.03.2008 13:17
Uncle_Theodore писал(а):
03.03.2008 02:39
Чушь собачья. Никогда ничего подобного я не говорил. Я говорил, что она для этого не предназначена.

Значит это -
Я никогда подобного не говорил. Хотя бы потому что никакого "режима компиляции C++ кода в gcc" не существует. Вся эта фраза -- полная бессмыслица.

- написал кто-то другой :)

Исходя из всего вышенаписанного можно сделать вывод, что g++ по сути не является компилятором, это лишь менеджер для компилятора gcc.

Дядя Теодор не может четко ответить на мой вопрос.

Выяснили же уже.
1. И gcc и g++ - фасады для кучи программ компиляторов, сборщиков и т.д.
2. gcc изначально предназначен для компиляции Си-программ.
3. Можно использовать gcc с параметрами для компиляции C++-программ.
4. g++ - то же самое, что и gcc с параметрами для компиляции C++-программ.
5. Фсе.

Re: Чем gcc отличается от g++

Добавлено: 08.03.2008 14:39
AMD
andreas90 писал(а):
02.03.2008 22:50
3al писал(а):
02.03.2008 22:46
andreas90 писал(а):
02.03.2008 22:40
Кто может подробно и аргументировано объяснить новичку и дилетанту чем gcc отличается от g++?

gcc — Gnu Compiler Collection, вызывает компиляторы других языков.
g++ — компилятор с языка c++ для gcc.
Подробности знает вики и гугль.


Не ответ
Простите, а вы внимательно читали про gcc -o proga proga.cc -lstdc++ ?



все просто как видно
раньше (это было очень давно и это было неправдой) - gcc - был GNU C Compiler - соотвественно в те времена он компилил только Си поэтому дядя Теодор и запутался - он кореной линуксист еще тех давних времен. (дядя Теодор не обижайтесь - все мы люди и все мы ошибаемся)

Времена прошли и gcc - стал Gnu Compiler Collection - тоесть стал поддерживать много языков включая C и С++

g++ — просто компилятор для языка c++

Вывод:
тоесть если вы написали прогу на С++ чтобы не парится компилируете с g++ но никто не мешает компилировать ее с gcc но тогда будьте добры и не забудьте указать gcc что это программа С++.

Ну остается только один вопрос - эфективность компилирования - тоесть кто эфективнее компилит - или разницы нет?

Re: Чем gcc отличается от g++

Добавлено: 08.03.2008 16:45
Шпунтик
landrew.xp писал(а):
04.03.2008 12:25
4. g++ - то же самое, что и gcc с параметрами для компиляции C++-программ.
5. Фсе.

Нет не Фсе.
Если g++ - то же самое, что и gcc, то зачем при своей работе он вызывает gcc? Если он компилятор, то почему он не может обойтись без gcc?
Ответ, ИМХО, очевиден - g++ не является компилятором. Это менеджер, препоцессор, или как-то ещё можно назвать, для gcc, но никак не самостоятельный компилятор если он не может обойтись без gcc.
Почему gcc обходится без g++, а g++ не может обойтись без gcc ?

Re: Чем gcc отличается от g++

Добавлено: 08.03.2008 19:33
deninok
Вот мне интересно, друзья, а зачем все эти вопросы? Какая разница что есть что с технической точки зрения? Какое в этом практическое значение для программирования? Главное одно: если мне нужно скомпилировать программу, написанную на языке С++, я вызывают команду g++. Все. Чего здесь еще мудрить и спорить-то?
Я думаю, если кому-то из нас действительно интересно, что есть gcc, а что g++ с технической точки зрения, тот может обратиться к официальной документации на http://gcc.gnu.org
На мой взгляд, тема уже переходит в пустой трёп.

Re: Чем gcc отличается от g++

Добавлено: 08.03.2008 20:34
v04bvs
Шпунтик писал(а):
08.03.2008 16:45
Нет не Фсе.
Если g++ - то же самое, что и gcc, то зачем при своей работе он вызывает gcc? Если он компилятор, то почему он не может обойтись без gcc?
Ответ, ИМХО, очевиден - g++ не является компилятором. Это менеджер, препоцессор, или как-то ещё можно назвать, для gcc, но никак не самостоятельный компилятор если он не может обойтись без gcc.
Почему gcc обходится без g++, а g++ не может обойтись без gcc ?


Вот здесь: Чем gcc отличается от g++ я вроде бы ответил на все подобные вопросы. То ли вы не читали тему, то ли ещё что-либо. Вообще было бы неплохо почистить тему от ненужного флуда, оставив информативные сообщения, и добавить ссылку на неё в какой-нибудь FAQ, потому что вопрос возникает достаточно часто и, вообще говоря, сам по себе интересен (потому что специалист должен разбираться в своих инструментах, а не «тыкать вот эту кнопочку»).

Re: Чем gcc отличается от g++

Добавлено: 09.03.2008 20:00
diesel
v04bvs писал(а):
08.03.2008 20:34
То ли вы не читали тему, то ли ещё что-либо. Вообще было бы неплохо почистить тему от ненужного флуда, оставив информативные сообщения, и добавить ссылку на неё в какой-нибудь FAQ, потому что вопрос возникает достаточно часто и, вообще говоря, сам по себе интересен (потому что специалист должен разбираться в своих инструментах, а не «тыкать вот эту кнопочку»).

Совсем ерунду убрал. Тему прикрпеляю в назидание потомкам так сказать.

Re: Чем gcc отличается от g++

Добавлено: 09.03.2008 20:18
GiNeR
Смотрите man gcc, на предмет g++. Там всё подробно описано. По сути (хотя выше уже об этом несколько раз это упоминали) g++ можно воспринимать как алиас на gcc с особыми параметрами.

Re: Чем gcc отличается от g++

Добавлено: 09.03.2008 22:51
andreas90
Я понял.Все, спасибо
http://www.sklyaroff.ru/x9.htm

Re: Чем gcc отличается от g++

Добавлено: 03.04.2008 15:00
Luinnar
# man gcc
GNU GCC(1)

NAME
gcc - GNU project C and C++ compiler
...

А по ссылке в предыдущем посте так вообще всё разжёвано.

Re: Чем gcc отличается от g++

Добавлено: 16.05.2008 21:17
OCTAGRAM
И, напоследок, всё же хотелось бы обратить внимание.
gcc и g++ оба могут использоваться как линкеры. Так вот, у C++ – скомпилированных объектов для инициализации и финализации переменных используется не до конца изученный мною механизм. То ли там на каждый ошник есть инициализатор/финализатор, который для всех переменных вызывает конструкторы/деструкторы, то ли сами переменные как–то хитро помечаются в ошниках на инициализацию. Я видел в документации XL C++, как можно расставлять целочисленные приоритеты разным переменным, видимо, эти приоритеты соблюдаются между ошниками. Так или иначе, этот механизм для меня под покровом тайны. Вот у Ады можно запустить gnatbind, и всё видно, где что инициализируется, всё можно посмотреть. У C++ я такого не видел. Я видел только в разных библиотеках (aspell, к примеру) предупреждения, что, если линковать Cшным линкером, то библиотека может не инициализироваться.

Re: Чем gcc отличается от g++

Добавлено: 31.01.2009 19:14
dergachev
andreas90 писал(а):
09.03.2008 22:51
Я понял.Все, спасибо
http://www.sklyaroff.ru/x9.htm
Ссылка умерла ...

Re: Чем gcc отличается от g++

Добавлено: 07.03.2009 18:03
Алан
Вот еще одна полезная ссылка: G++ and GCC

Re: Чем gcc отличается от g++

Добавлено: 15.03.2009 10:59
BratSinot
Все нормальные компиляторы C/C++, и GCC не исключение, смотрит на название файла. Если дать команду:
gcc test.c то он будет компилировать файл test.c как C программу. А если переименовать файл:
gcc test.cpp то он будет компилировать как C++ программу. То есть какое расширение файла такой компилятор и используется.
Единственное замечание: Я это проверял только в GNU/Linux и Windows. В GNU/Linux это работает, а если использовать Windows и MinGW то надо указывать нужный компилятор.

Re: Чем gcc отличается от g++

Добавлено: 28.03.2009 23:12
fynjy
dergachev писал(а):
31.01.2009 19:14
andreas90 писал(а):
09.03.2008 22:51
Я понял.Все, спасибо
http://www.sklyaroff.ru/x9.htm
Ссылка умерла ...

Можно открутить часы: http://web.archive.org/web/20060625021835/...aroff.ru/x9.htm

Re: Чем gcc отличается от g++

Добавлено: 02.06.2009 20:12
frp
g++ a.cpp -o a = gcc -x C++ a.cpp -o a
Результат идентичный (проверял diff).

Re: Чем gcc отличается от g++

Добавлено: 02.06.2009 20:53
deninok
(BratSinot) писал(а):Если дать команду:
gcc test.c то он будет компилировать файл test.c как C программу. А если переименовать файл:
gcc test.cpp то он будет компилировать как C++ программу. То есть какое расширение файла такой компилятор и используется.

К сожалению, вы не правы. Только что проверял. Создал файл, назвал его main.cpp, написал в нём С++-код. Потом дал команду:

Код: Выделить всё

gcc main.cpp

По вашим словам, компилятор должен был понять, что нужно компилировать именно С++-код. Однако он выдал целый список ошибок, потому что пытался компилировать его именно как С-код.

Система: Debian 5.01
Компилятор: gcc 4.3.2

Re: Чем gcc отличается от g++

Добавлено: 02.06.2009 21:41
Olegator
доку неплохо было бы прочитать
http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gc...ing-G_002b_002b
However, the use of gcc does not add the C++ library. g++ is a program that calls GCC and treats `.c', `.h' and `.i' files as C++ source files instead of C source files unless -x is used, and automatically specifies linking against the C++ library. This program is also useful when precompiling a C header file with a `.h' extension for use in C++ compilations. On many systems, g++ is also installed with the name c++.

Re: Чем gcc отличается от g++

Добавлено: 02.06.2009 21:57
drBatty
deninok писал(а):
02.06.2009 20:53
К сожалению, вы не правы. Только что проверял. Создал файл, назвал его main.cpp, написал в нём С++-код. Потом дал команду:

зависит от "умолчальных" настроек программы, насколько я помню, там где-то есть конфиг, и в конфиге прописаны ключи
1)всё как С
2)всё как ++
3)в зависимости от расширения.
у вас - п2
у оппонента п3
правы - оба. :)

Я тут поставил последний компилятор, он вообще не заработал:
пишет command not found. выяснилось, что он только для тестеров, потому называется g++4.4
переставлять не стал, сделал симлинк. пока - нормально.

Re: Чем gcc отличается от g++

Добавлено: 03.06.2009 00:48
RasenHerz
deninok писал(а):
02.06.2009 20:53
(BratSinot) писал(а):Если дать команду:
gcc test.c то он будет компилировать файл test.c как C программу. А если переименовать файл:
gcc test.cpp то он будет компилировать как C++ программу. То есть какое расширение файла такой компилятор и используется.

К сожалению, вы не правы. Только что проверял. Создал файл, назвал его main.cpp, написал в нём С++-код. Потом дал команду:

Код: Выделить всё

gcc main.cpp

По вашим словам, компилятор должен был понять, что нужно компилировать именно С++-код. Однако он выдал целый список ошибок, потому что пытался компилировать его именно как С-код.

Система: Debian 5.01
Компилятор: gcc 4.3.2

насколько я помню, в Debian чтобы скомпилировать .cpp файлы с помощью gcc надо вызвать gcc file.cpp -lstdc++

Re: Чем gcc отличается от g++

Добавлено: 03.06.2009 10:26
deninok
(RasenHerz) писал(а):насколько я помню, в Debian чтобы скомпилировать .cpp файлы с помощью gcc надо вызвать gcc file.cpp -lstdc++

Признаться, никогда не пользовался такой командой. Всегда и на всех Линуксах, с которыми работал, вызывал g++ и всё...

(drBatty) писал(а):зависит от "умолчальных" настроек программы, насколько я помню, там где-то есть конфиг, и в конфиге прописаны ключи
1)всё как С
2)всё как ++
3)в зависимости от расширения.
у вас - п2
у оппонента п3
правы - оба. :)

Спасибо за подсказку. Честно, не знал я такого...

Re: Чем gcc отличается от g++

Добавлено: 03.06.2009 14:26
drBatty
deninok писал(а):
03.06.2009 10:26
Спасибо за подсказку. Честно, не знал я такого...
это мои догадки.. мне кажется сделано так... надо бы проверить...

Re: Чем gcc отличается от g++

Добавлено: 04.06.2009 09:45
deninok
(drBatty) писал(а):это мои догадки.. мне кажется сделано так...

:)

Re: Чем gcc отличается от g++

Добавлено: 14.06.2009 19:14
GMar
deninok писал(а):
03.06.2009 10:26
(RasenHerz) писал(а):насколько я помню, в Debian чтобы скомпилировать .cpp файлы с помощью gcc надо вызвать gcc file.cpp -lstdc++

Признаться, никогда не пользовался такой командой. Всегда и на всех Линуксах, с которыми работал, вызывал g++ и всё...

(drBatty) писал(а):зависит от "умолчальных" настроек программы, насколько я помню, там где-то есть конфиг, и в конфиге прописаны ключи
1)всё как С
2)всё как ++
3)в зависимости от расширения.
у вас - п2
у оппонента п3
правы - оба. :)

Спасибо за подсказку. Честно, не знал я такого...

man gcc:

Код:

Compiling C++ Programs C++ source files conventionally use one of the suffixes .C, .cc, .cpp, .CPP, .c++, .cp, or .cxx; C++ header files often use .hh, .hpp, .H, or (for shared template code) .tcc; and preprocessed C++ files use the suffix .ii. GCC recognizes files with these names and compiles them as C++ programs even if you call the compiler the same way as for compiling C programs (usually with the name gcc).

Re: Чем gcc отличается от g++

Добавлено: 16.06.2009 10:59
drBatty
OCTAGRAM писал(а):
16.05.2008 21:17
Так или иначе, этот механизм для меня под покровом тайны.

это традиционная сишная фишка - только для джедаев :)
я десять раз подумаю, перед тем как сделать глобальную переменную, причём именно потому, что не знаю, как она будет инициализироваться. и если в С это не так уж и страшно, то в С++, с его жутко запутанными классами...

Re: Чем gcc отличается от g++

Добавлено: 16.06.2009 12:52
deninok
drBatty писал(а):
16.06.2009 10:59
я десять раз подумаю, перед тем как сделать глобальную переменную, причём именно потому, что не знаю, как она будет инициализироваться. и если в С это не так уж и страшно, то в С++, с его жутко запутанными классами...

В современном С++ использование глобальных переменных не оправдано ничем. Иными словами, глобальные переменные в С++-программах вообще не нужны. В свете этого неопределённый порядок инициализации глобальных переменных уже не является проблемой.

Re: Чем gcc отличается от g++

Добавлено: 16.06.2009 13:23
drBatty
deninok писал(а):
16.06.2009 12:52
drBatty писал(а):
16.06.2009 10:59
я десять раз подумаю, перед тем как сделать глобальную переменную, причём именно потому, что не знаю, как она будет инициализироваться. и если в С это не так уж и страшно, то в С++, с его жутко запутанными классами...

В современном С++ использование глобальных переменных не оправдано ничем. Иными словами, глобальные переменные в С++-программах вообще не нужны. В свете этого неопределённый порядок инициализации глобальных переменных уже не является проблемой.

эх... если бы всё было так просто :(
а куда деть миллионы строк на Си? переписывать?
но если из Си ещё как-то можно получить доступ к данным класса, то вот из асма это сделать намного сложнее. Как раз для обмена данными между модулями на разных языках и есть смысл использовать глобальные переменные. Хотя в чистом С++ - согласен, это зло.

Re: Чем gcc отличается от g++

Добавлено: 18.06.2009 15:48
deninok
(drBatty) писал(а):а куда деть миллионы строк на Си? переписывать?

"Э-э, профессор, это уже второй вопрос..." (С)
Я же говорил о чистом С++. :)

Re: Чем gcc отличается от g++

Добавлено: 20.06.2009 06:38
drBatty
deninok писал(а):
18.06.2009 15:48
Я же говорил о чистом С++

есть ещё и статические переменные...

Код: Выделить всё

int f()
{
static x=4;
return x;
}

если доверить их инициализацию компилятору(точнее линковщику ИМХО), то это будет очень смешные грабли.