Страница 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
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
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
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, написал в нём С++-код. Потом дал команду:
По вашим словам, компилятор должен был понять, что нужно компилировать именно С++-код. Однако он выдал целый список ошибок, потому что пытался компилировать его именно как С-код.
Система: 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, написал в нём С++-код. Потом дал команду:
По вашим словам, компилятор должен был понять, что нужно компилировать именно С++-код. Однако он выдал целый список ошибок, потому что пытался компилировать его именно как С-код.
Система: 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
Я же говорил о чистом С++
есть ещё и статические переменные...
если доверить их инициализацию компилятору(точнее линковщику ИМХО), то это будет очень смешные грабли.