Чем gcc отличается от g++ (gcc vs g++?)

Модератор: Модераторы разделов

Аватара пользователя
andreas90
Сообщения: 158
ОС: Bluewhite64 12.2

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

Сообщение andreas90 »

Кто может подробно и аргументировано объяснить новичку и дилетанту чем gcc отличается от g++?
"Ubuntu" is an ancient African word, that means "I can't configure Slackware"
Спасибо сказали:
Аватара пользователя
azrael
Сообщения: 73
ОС: KUbuntu 8.04 Hardy Heron

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

Сообщение azrael »

Здесь не нужны аргументы :)
И подробностей, необходимых в начале изучения, здесь тоже немного:
Gcc - компилятор для языка Си, g++ - для Си++.

Как уже вам неоднократно говорили в соседней теме, это разные языки. Только и всего. Пользуйтесь компилятором для того языка, который изучаете, и не будет вам никаких проблем. Какие-то специфические фишки того и другого компилятора понадобятся позже.
Спасибо сказали:
Аватара пользователя
andreas90
Сообщения: 158
ОС: Bluewhite64 12.2

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

Сообщение andreas90 »

azrael писал(а):
02.03.2008 20:23
Здесь не нужны аргументы :)
И подробностей, необходимых в начале изучения, здесь тоже немного:
Gcc - компилятор для языка Си, g++ - для Си++.

Как уже вам неоднократно говорили в соседней теме, это разные языки. Только и всего. Пользуйтесь компилятором для того языка, который изучаете, и не будет вам никаких проблем. Какие-то специфические фишки того и другого компилятора понадобятся позже.



Тогда такой вопрос. g++ и gcc - это независимые компиляторы?
"Ubuntu" is an ancient African word, that means "I can't configure Slackware"
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

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

Сообщение Uncle_Theodore »

andreas90 писал(а):
02.03.2008 21:07
Тогда такой вопрос. g++ и gcc - это независимые компиляторы?

Как программы -- нет, не независимые.
Как компиляторы -- таки да, независимые, поскольку компилируют разные языки.

Медитировать над фразой "C и C++ языки разные" до полного просветления... :)
Спасибо сказали:
Аватара пользователя
andreas90
Сообщения: 158
ОС: Bluewhite64 12.2

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

Сообщение andreas90 »

Uncle_Theodore писал(а):
02.03.2008 21:31
andreas90 писал(а):
02.03.2008 21:07
Тогда такой вопрос. g++ и gcc - это независимые компиляторы?

Как программы -- нет, не независимые.
Как компиляторы -- таки да, независимые, поскольку компилируют разные языки.

Медитировать над фразой "C и C++ языки разные" до полного просветления... :)


Тогда в чем они как программы зависимы?
"Ubuntu" is an ancient African word, that means "I can't configure Slackware"
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

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

Сообщение Uncle_Theodore »

andreas90 писал(а):
02.03.2008 21:44
Тогда в чем они как программы зависимы?

Они используют общую кодовую базу. Как, например, konqueror и klines различны по предназначению, но зависимы как программы, поскольку используют ту же кодовую базу (kde и qt).

Глянь на вывод
ldd `which gcc`
и
ldd `which g++`
хохмы ради.
Спасибо сказали:
Аватара пользователя
andreas90
Сообщения: 158
ОС: Bluewhite64 12.2

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

Сообщение andreas90 »

Uncle_Theodore писал(а):
02.03.2008 21:50
andreas90 писал(а):
02.03.2008 21:44
Тогда в чем они как программы зависимы?

Они используют общую кодовую базу. Как, например, konqueror и klines различны по предназначению, но зависимы как программы, поскольку используют ту же кодовую базу (kde и qt).

Глянь на вывод
ldd `which gcc`
и
ldd `which g++`
хохмы ради.

bash-3.1$ ldd `which gcc`
linux-vdso.so.1 => (0x00007fff821fe000)
libc.so.6 => /lib/libc.so.6 (0x00002b8128adb000)
/lib/ld-linux-x86-64.so.2 (0x00002b81288be000)
bash-3.1$ ldd `which g++`
linux-vdso.so.1 => (0x00007fffe25fe000)
libc.so.6 => /lib/libc.so.6 (0x00002ae9c881b000)
/lib/ld-linux-x86-64.so.2 (0x00002ae9c85fe000)
Все нашел ldd - выдает список общих библиотек(shared objects), требующихся программе или библиотеке, для нормальной работы.
Так, библиотеки у них одинаковы, так осталось одно что мне не понятно- в чем основное различие, если с таким же успехом, программу написанную на c++ можно откомпилировать gcc -o proga proga.cc -lstdc++?
Я нашел только одно - это libstdc++. Еще есть?
"Ubuntu" is an ancient African word, that means "I can't configure Slackware"
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

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

Сообщение Uncle_Theodore »

andreas90 писал(а):
02.03.2008 21:56
Так, библиотеки у них одинаковы, так осталось одно что мне не понятно- в чем основное различие, если с таким же успехом, программу написанную на c++ можно откомпилировать gcc -o proga proga.cc -lstdc++?
Я нашел только одно - это libstdc++. Еще есть?

Различие в том, что они делают разные вещи. У меня акцент, или это эхо в помещении? :)

Да, можно откомпилировать с -lstdc++ Можно микроскопом забивать гвозди, а асфальтовым катком колоть орехи. Можно вообще все на ассемблере писать, и голова болеть не будет...
Спасибо сказали:
Аватара пользователя
andreas90
Сообщения: 158
ОС: Bluewhite64 12.2

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

Сообщение andreas90 »

Uncle_Theodore писал(а):
02.03.2008 22:10
andreas90 писал(а):
02.03.2008 21:56
Так, библиотеки у них одинаковы, так осталось одно что мне не понятно- в чем основное различие, если с таким же успехом, программу написанную на c++ можно откомпилировать gcc -o proga proga.cc -lstdc++?
Я нашел только одно - это libstdc++. Еще есть?

Различие в том, что они делают разные вещи. У меня акцент, или это эхо в помещении? :)

Да, можно откомпилировать с -lstdc++ Можно микроскопом забивать гвозди, а асфальтовым катком колоть орехи. Можно вообще все на ассемблере писать, и голова болеть не будет...


То есть наконец-то я нашел ответ на свой вопрос.
Определение:
Компилятор g++ - это компилятор gcc, дополненный библиотекой libstdc++.
Почему-то мне так сразу никто не сказал.
"Ubuntu" is an ancient African word, that means "I can't configure Slackware"
Спасибо сказали:
Аватара пользователя
--=Civil696=--
Сообщения: 227
ОС: Gentoo o_O

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

Сообщение --=Civil696=-- »

andreas90 писал(а):
02.03.2008 21:56
Uncle_Theodore писал(а):
02.03.2008 21:50
andreas90 писал(а):
02.03.2008 21:44
Тогда в чем они как программы зависимы?

Они используют общую кодовую базу. Как, например, konqueror и klines различны по предназначению, но зависимы как программы, поскольку используют ту же кодовую базу (kde и qt).

Глянь на вывод
ldd `which gcc`
и
ldd `which g++`
хохмы ради.

bash-3.1$ ldd `which gcc`
linux-vdso.so.1 => (0x00007fff821fe000)
libc.so.6 => /lib/libc.so.6 (0x00002b8128adb000)
/lib/ld-linux-x86-64.so.2 (0x00002b81288be000)
bash-3.1$ ldd `which g++`
linux-vdso.so.1 => (0x00007fffe25fe000)
libc.so.6 => /lib/libc.so.6 (0x00002ae9c881b000)
/lib/ld-linux-x86-64.so.2 (0x00002ae9c85fe000)
Все нашел ldd - выдает список общих библиотек(shared objects), требующихся программе или библиотеке, для нормальной работы.
Так, библиотеки у них одинаковы, так осталось одно что мне не понятно- в чем основное различие, если с таким же успехом, программу написанную на c++ можно откомпилировать gcc -o proga proga.cc -lstdc++?
Я нашел только одно - это libstdc++. Еще есть?

а вы попробуйте для наглядности код который Uncle_Theodore запостил в соседнем топике откомпилировать при помощи gcc с параметром -lstdc++ не знаю как у вас, но у меня куча ошибок, а вот g++ компилит и не жужжит
почему? наверно потому что gcc и g++ это просто напросто компиляторы разных языков программирования
а общие библиотеки и у amarok'а с kwrite есть это ведь не превращает плеер в текстовый редактор
НЕ ПАНИКУЙ © ^_~
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

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

Сообщение Uncle_Theodore »

andreas90 писал(а):
02.03.2008 22:15
То есть наконец-то я нашел ответ на свой вопрос.
Определение:
Компилятор g++ - это компилятор gcc, дополненный библиотекой libstdc++.
Почему-то мне так сразу никто не сказал.

Ну, еще некоторыми вещами. Херовой тучей заголовков, например. Или STL так, к слову вспоминается. Но в целом, да.
Спасибо сказали:
Аватара пользователя
andreas90
Сообщения: 158
ОС: Bluewhite64 12.2

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

Сообщение andreas90 »

Сейчас попробую

Uncle_Theodore писал(а):
02.03.2008 22:19
andreas90 писал(а):
02.03.2008 22:15
То есть наконец-то я нашел ответ на свой вопрос.
Определение:
Компилятор g++ - это компилятор gcc, дополненный библиотекой libstdc++.
Почему-то мне так сразу никто не сказал.

Ну, еще некоторыми вещами. Херовой тучей заголовков, например. Или STL так, к слову вспоминается. Но в целом, да.


Какими заголовками например?
"Ubuntu" is an ancient African word, that means "I can't configure Slackware"
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

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

Сообщение Uncle_Theodore »

andreas90 писал(а):
02.03.2008 22:20
Какими заголовками например?

ls /usr/include/c++/4.2.3/
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

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

Сообщение v04bvs »

Всё несколько сложнее.
Реальный компилятор языка С на моей системе лежит здесь: /usr/lib/gcc/i486-linux-gnu/4.1.3/cc1 и занимает около 5 мегабайтов.
Реальный компилятор языка С++ на моей системе лежит здесь: /usr/lib/gcc/i486-linux-gnu/4.1.3/cc1plus и занимает около 5.5 мегабайтов.

Но они умеют только превращать код на С/C++ в код на языке ассемблера. Далее этот код на языке ассемблера нужно транслировать в машинный код. Этим занимается команда as. На выходе получается объектный файл с расширением .o
После того, как все исходные файлы откомпилированы и из них получены объектные файлы, они передаются линкеру. Так же линкеру передаётся список динамических и статических библиотек. Он из всего этого добра делает один исполняемый файл (или разделяемую библиотеку).

Как видно, в процессе компиляции учавствует много разных программ. Вручную вызывать их все было бы неудобно. Именно для упрощения подобных задач и сделаны врапперы вроде /usr/bin/gcc или /usr/bin/g++.
Спасибо сказали:
Аватара пользователя
--=Civil696=--
Сообщения: 227
ОС: Gentoo o_O

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

Сообщение --=Civil696=-- »

andreas90 писал(а):
02.03.2008 22:20
Сейчас попробую

стоп пардон теперь вру я
просто когда компилировал засунул код в первый попавшийся файл, которым оказался foo.c (уж и не помню что он у меня делает) в следствии чего g++ компилил нормально и с таким расширением, а вот gcc на "syntax error" ругался поле смены расширения на *.cpp стали компилить оба
НЕ ПАНИКУЙ © ^_~
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

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

Сообщение v04bvs »

Uncle_Theodore писал(а):
02.03.2008 22:19
andreas90 писал(а):
02.03.2008 22:15
То есть наконец-то я нашел ответ на свой вопрос.
Определение:
Компилятор g++ - это компилятор gcc, дополненный библиотекой libstdc++.
Почему-то мне так сразу никто не сказал.

Ну, еще некоторыми вещами. Херовой тучей заголовков, например. Или STL так, к слову вспоминается. Но в целом, да.



команда gcc прекрасно подключает все С++-ные заголовки.
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

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

Сообщение Uncle_Theodore »

v04bvs писал(а):
02.03.2008 22:31
команда gcc прекрасно подключает все С++-ные заголовки.

Да, и что? А на асме можно написать вообще любой код, который можно написать на любом другом языке. Вывод? Ассемблер ничем не отличается от Лиспа?

Какой-то беспредметный спор, чесслово...

Можно вообще исполняемых эльфов в хексовом редакторе напрямую писать. :)
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

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

Сообщение v04bvs »

Uncle_Theodore писал(а):
02.03.2008 22:33
v04bvs писал(а):
02.03.2008 22:31
команда gcc прекрасно подключает все С++-ные заголовки.

Да, и что? А на асме можно написать вообще любой код, который можно написать на любом другом языке. Вывод? Ассемблер ничем не отличается от Лиспа?

Какой-то беспредметный спор, чесслово...

Да никто с вами не спорит. Вы говорите, что gcc в режиме компиляции C++-кода не подключает STL-ные заголовки. Я вас поправил. Каким боком здесь оказался лисп с ассемблером, я вообще не понимаю.
Спасибо сказали:
Аватара пользователя
andreas90
Сообщения: 158
ОС: Bluewhite64 12.2

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

Сообщение andreas90 »

Uncle_Theodore писал(а):
02.03.2008 22:33
v04bvs писал(а):
02.03.2008 22:31
команда gcc прекрасно подключает все С++-ные заголовки.

Да, и что? А на асме можно написать вообще любой код, который можно написать на любом другом языке. Вывод? Ассемблер ничем не отличается от Лиспа?

Какой-то беспредметный спор, чесслово...

Можно вообще исполняемых эльфов в хексовом редакторе напрямую писать. :)



Ну и кто дополнит сформулированное выше определение компилятора g++ и его отличие от gcc? Или к общему мнению не придем?
Я спрашивал вас как хороших программистов - старожилов. Вопрос темы стоит четко
Кто может подробно и аргументировано объяснить новичку и дилетанту чем gcc отличается от g++?
"Ubuntu" is an ancient African word, that means "I can't configure Slackware"
Спасибо сказали:
3al
Сообщения: 131
ОС: Arch

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

Сообщение 3al »

andreas90 писал(а):
02.03.2008 22:40
Кто может подробно и аргументировано объяснить новичку и дилетанту чем gcc отличается от g++?

gcc — Gnu Compiler Collection, вызывает компиляторы других языков.
g++ — компилятор с языка c++ для gcc.
Подробности знает вики и гугль.
Спасибо сказали:
Аватара пользователя
andreas90
Сообщения: 158
ОС: Bluewhite64 12.2

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

Сообщение andreas90 »

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++ ?
"Ubuntu" is an ancient African word, that means "I can't configure Slackware"
Спасибо сказали:
Аватара пользователя
--=Civil696=--
Сообщения: 227
ОС: Gentoo o_O

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

Сообщение --=Civil696=-- »

andreas90 писал(а):
02.03.2008 22:40
Ну и кто дополнит сформулированное выше определение компилятора g++ и его отличие от gcc? Или к общему мнению не придем?
Я спрашивал вас как хороших программистов - старожилов. Вопрос темы стоит четко
Кто может подробно и аргументировано объяснить новичку и дилетанту чем gcc отличается от g++?

давайте мы с вами сойдёмся на том что g++ это то чем пользуются ленивые линуксоиды (а все люди по своей природе ленивы) чтобы скомпилить текст своей программы на языке C++ используя для этого как можно меньше нажатий клавиш
а если вам всёже интересно предлагаю почитать в википедии http://ru.wikipedia.org/wiki/GNU_Compiler_Collection
кстати сам только сейчас заглянул и узнал что
Изначально названный GNU C Compiler, он поддерживал только язык C. Позднее, GCC был расширен для компиляции исходных кодов на таких языках программирования как C++, Objective-C, Java, Fortran, и Ada.


а то нас скоро во флейм перенесут
НЕ ПАНИКУЙ © ^_~
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

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

Сообщение Uncle_Theodore »

v04bvs писал(а):
02.03.2008 22:37
Вы говорите, что gcc в режиме компиляции C++-кода не подключает STL-ные заголовки.

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

andreas90 писал(а):
02.03.2008 22:40
Вопрос темы стоит четко
Кто может подробно и аргументировано объяснить новичку и дилетанту чем gcc отличается от g++?

Тем, что они компилируют с разных языков. Какие еще Вам аргументы нужны? Предназначением они различаются. Все остальные Ваши "определения" и "объяснения" -- набор слов и самообман.

Вот Вам пример забавный.

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

#include<stdio.h>

int main(){
  int b = sizeof('b');
  if(b==4) printf("I'm a C program!\n");
  else printf("I'm a C++ program!\n");
  return 0;
}


Скомпилируйте его gcc'ём и прогоните, а потом скомпилируйте g++'ом и прогоните.
А мне надоело из пустого в порожнее переливать. :)
Спасибо сказали:
Аватара пользователя
andreas90
Сообщения: 158
ОС: Bluewhite64 12.2

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

Сообщение andreas90 »

Просмотрел я эту ссылку
http://ru.wikipedia.org/wiki/GNU_Compiler_Collection
Там не сказано четко чем gcc отличается от g++.
Тем более что тогда получается что gcc- набор компиляторов, а g++ это часть gcc и отдельного компилятора g++ не существует.
Я жду точного полного и аргументированного определения. Понимаете, нет четкости терминологии, и это приводит к путанице.
G++ это - ......
Отличается от gcc :
1.
2.
.
.
.
n
Пока большинство объяснений напоминает мне диалог.
" Что такое производная?"
" Ну это например когда икс квадрат взять производную будет два икс
" А чем она отличается от дифференциала?
" Ну это когда берешь производную и умножаешь на дельта икс"
Вот и в итоге четкой терминологии нет. Хотя она существует

Странно, я думал программисты это знают
"Ubuntu" is an ancient African word, that means "I can't configure Slackware"
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

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

Сообщение v04bvs »

Uncle_Theodore писал(а):
02.03.2008 22:56
никакого "режима компиляции C++ кода в gcc" не существует. Вся эта фраза -- полная бессмыслица.

gcc это front-end к коллекции компиляторов. Он умеет компилировать код на языках С, С++, Fortran, Ada, и др. Где вы тут увидели бессмыслицу, мне остаётся только гадать.

Вот Вам пример забавный.

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

#include<stdio.h>

 int main(){
   int b = sizeof('b');
   if(b==4) printf("I'm a C program!\n");
   else printf("I'm a C++ program!\n");
   return 0;
 }


Скомпилируйте его gcc'ём и прогоните, а потом скомпилируйте g++'ом и прогоните.
А мне надоело из пустого в порожнее переливать. :)

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

vsb-laptop% vim test.c
vsb-laptop% ln test.c test.cpp
vsb-laptop% gcc test.c -o c
vsb-laptop% gcc test.cpp -o cpp -lstdc++
vsb-laptop% ./c
I'm a C program!
vsb-laptop% ./cpp
I'm a C++ program!


И никакого g++. Чудеса да и только.
Спасибо сказали:
Аватара пользователя
andreas90
Сообщения: 158
ОС: Bluewhite64 12.2

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

Сообщение andreas90 »

Uncle_Theodore писал(а):
02.03.2008 22:56
v04bvs писал(а):
02.03.2008 22:37
Вы говорите, что gcc в режиме компиляции C++-кода не подключает STL-ные заголовки.

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

andreas90 писал(а):
02.03.2008 22:40
Вопрос темы стоит четко
Кто может подробно и аргументировано объяснить новичку и дилетанту чем gcc отличается от g++?

Тем, что они компилируют с разных языков. Какие еще Вам аргументы нужны? Предназначением они различаются. Все остальные Ваши "определения" и "объяснения" -- набор слов и самообман.

Вот Вам пример забавный.

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

#include<stdio.h>

int main(){
  int b = sizeof('b');
  if(b==4) printf("I'm a C program!\n");
  else printf("I'm a C++ program!\n");
  return 0;
}


Скомпилируйте его gcc'ём и прогоните, а потом скомпилируйте g++'ом и прогоните.
А мне надоело из пустого в порожнее переливать. :)


Скомпилил и gcc и g++ компилит и gcc с ключом -lstdc++ все идет. Если вы про ++ то это ничего не объясняет, не ответ на вопрос
"Ubuntu" is an ancient African word, that means "I can't configure Slackware"
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

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

Сообщение Uncle_Theodore »

Хорошо, последний раз попробую до Вас достучаться.

g++ -- это программа для компиляции кода на C++. Да, команду gcc с определенными извратами можно заставить компилировать C++ код. Но команда g++ специально для этого предназначена, и использовать следует именно ее.

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 or .H; 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).

However, C ++ programs often require class libraries as well as a compiler that understands the C ++ language---and under some circumstances, you might want to compile programs or header files from standard input, or otherwise without a suffix that flags them as C ++ programs. You might also like to precompile a C header file with a .h extension to be used in C ++ compilations. g++ is a program that calls GCC with the default language set to C ++ , and automatically specifies linking against the C ++ library. On many systems, g++ is also installed with the name c++.

When you compile C ++ programs, you may specify many of the same command-line options that you use for compiling programs in any language; or command-line options meaningful for C and related languages; or options that are meaningful only for C ++ programs.


Если после всего этого Вы опять скажете, что у Вас путаница, и Вам не хватает ясности по пунктам, я решу, что Вы надо мной издеваетесь.
Спасибо сказали:
Аватара пользователя
andreas90
Сообщения: 158
ОС: Bluewhite64 12.2

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

Сообщение andreas90 »

Uncle_Theodore писал(а):
03.03.2008 00:09
Хорошо, последний раз попробую до Вас достучаться.

g++ -- это программа для компиляции кода на C++. Да, команду gcc с определенными извратами можно заставить компилировать C++ код. Но команда g++ специально для этого предназначена, и использовать следует именно ее.

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 or .H; 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).

However, C ++ programs often require class libraries as well as a compiler that understands the C ++ language---and under some circumstances, you might want to compile programs or header files from standard input, or otherwise without a suffix that flags them as C ++ programs. You might also like to precompile a C header file with a .h extension to be used in C ++ compilations. g++ is a program that calls GCC with the default language set to C ++ , and automatically specifies linking against the C ++ library. On many systems, g++ is also installed with the name c++.

When you compile C ++ programs, you may specify many of the same command-line options that you use for compiling programs in any language; or command-line options meaningful for C and related languages; or options that are meaningful only for C ++ programs.


Если после всего этого Вы опять скажете, что у Вас путаница, и Вам не хватает ясности по пунктам, я решу, что Вы надо мной издеваетесь.


Тогда получается что g++ - это вызванный gcc с установленным по умолчанию языком C++ с установленными линковками к библиотекам С++ =>
g++ = (gcc плюс некоторые библиотеки (lstdc++ и др))) так? Я вас правильно понял?
"Ubuntu" is an ancient African word, that means "I can't configure Slackware"
Спасибо сказали:
Шпунтик
Сообщения: 230
ОС: MSDOS 3.3

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

Сообщение Шпунтик »

Uncle_Theodore писал(а):
03.03.2008 00:09
g++ -- это программа для компиляции кода на C++. Да, команду gcc с определенными извратами можно заставить компилировать C++ код.

Путаетесь в показаниях, дядя. Сначала вы категорически заявляли что gcc не может компилировать С++ программы, теперь соглашаетесь что, с извратами (по вашему выражению) таки да, может.
А что, если gcc "с извратами" заставить компилить С++ программу, то он какой-то неправильный код создаст?
g++ is a program that calls GCC with the default language set to C ++ , and automatically specifies linking against the C ++ library.

Эта фраза вообще интересна. Получается что g++ при своей работе вызывает gcc с определёнными настройками. Это значит что g++ не самостоятельна, и без gcc не может работать?
Интересно, если попробовать на время "спрятать" gcc, то как будет вести себя g++, сможет ли он компилить самостоятельно.
Если после всего этого Вы опять скажете, что у Вас путаница, и Вам не хватает ясности по пунктам, я решу, что Вы надо мной издеваетесь.

Нет, это вы издеваетесь, это вам не хватает ясности.
Путь линуксоида очень напоминает путь воина, главными особенностями которого являются ответственность и самодисциплина. Но и награды этого пути достойны: это свобода и мастерство.
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

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

Сообщение Uncle_Theodore »

Шпунтик писал(а):
03.03.2008 01:11
Путаетесь в показаниях, дядя. Сначала вы категорически заявляли что gcc не может компилировать С++ программы...

Чушь собачья. Никогда ничего подобного я не говорил. Я говорил, что она для этого не предназначена.

В общем, мне эта тема надоела. Если б у кого-то здесь был действительно серьезный вопрос, можно было бы пытаться на него ответить. А в упражнениях в софистике и словоблудии мне участия принимать не хочется. Спросите у Промова, он вам расскажет. :)
Спасибо сказали:
Ответить