LINUX.ORG.RU
ФорумTalks

gcc, g++, cc


0

0

Чем различаются команды : gcc, g++ и cc, которые входят в пакет gcc? Также нет манов по g++ и cc

anonymous

lol

gcc - компилирует сишные проги,

g++ - сиплюсплюснутые проги,

cc - алиас и может указывать, в принципе, на что угодно Си-компилирующее, поскольку в оригинальной UNIX так вызывается ее компилятор.

anonymous
()
Ответ на: комментарий от anonymous

>так gcc и с++ проги собирает, по крайней мере должен

Он просто по расширению файла смотрит, и если находит плюсовое - вызывает g++

Nagwal ★★★★
()
Ответ на: комментарий от Nagwal

>Он просто по расширению файла смотрит, и если находит плюсовое - вызывает g++

а вот врать не надо: вот стандартная hello:

#include <iostream> int main() { std::cout <<"Hello LOR!!!\n"; return 0; }

# gcc mai.cpp -o mai /tmp/ccbehLsK.o(.text+0x1b): In function `main': : undefined reference to `std::cout' /tmp/ccbehLsK.o(.text+0x20): In function `main': : undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' /tmp/ccbehLsK.o(.text+0x49): In function `__static_initialization_and_destruction_0(int, int)': : undefined reference to `std::ios_base::Init::Init()' /tmp/ccbehLsK.o(.text+0x7a): In function `__tcf_0': : undefined reference to `std::ios_base::Init::~Init()' /tmp/ccbehLsK.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status

а если так: # g++ mai.cpp -o mai #./mai Hello LOR!!!

так что гнать не надо !

golodranez ★★★★
()
Ответ на: комментарий от golodranez

>Он просто по расширению файла смотрит, и если находит плюсовое - вызывает g++

а вот врать не надо:
вот стандартная hello:

#include <iostream>
int main()
{
std::cout <<"Hello LOR!!!\n";
return 0;
}

# gcc mai.cpp -o mai
/tmp/ccbehLsK.o(.text+0x1b): In function `main': : undefined reference to `std::cout' /tmp/ccbehLsK.o(.text+0x20): In function `main': : undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' /tmp/ccbehLsK.o(.text+0x49): In function `__static_initialization_and_destruction_0(int, int)': : undefined reference to `std::ios_base::Init::Init()' /tmp/ccbehLsK.o(.text+0x7a): In function `__tcf_0': : undefined reference to `std::ios_base::Init::~Init()' /tmp/ccbehLsK.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status

а если так:
# g++ mai.cpp -o mai
#./mai
Hello LOR!!!

так что гнать не надо !

golodranez ★★★★
()
Ответ на: комментарий от golodranez

У меня gcc, g++, cc - все симлинки на один и тот же бинарник - видимо при запуске смотрится параметр $0, а уже в зависимости от него выбирается действие.

mikhail
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.