Skocz do zawartości

Gcc A G++ ?


MitS

Rekomendowane odpowiedzi

Witam!

 

Mam mały problem gdyż nie dokońca wiem jak się używa gcc sad.gif

Jak dotąd używałem g++ i się spisywał doskonale ale postanowiłem sprawdzić jaka jest różnica pomiędzy gcc a g++.

 

Gdy taki kod:

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
cout << "witaj!";
return 0;
}

kompiluje pod g++ komendą g++ prog.cpp -o p to działa w 100% a jak robie gcc prog.cpp -o p

to wywala mi błąd:

/tmp/ccXa7fyg.o(.text+0x25): In function `main':

iloczyn_cyfr.cpp: undefined reference to `std::cout'

/tmp/ccXa7fyg.o(.text+0x2a):iloczyn_cyfr.cpp: 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/ccXa7fyg.o(.text+0x47): In function `__tcf_0':

iloczyn_cyfr.cpp: undefined reference to `std::ios_base::Init::~Init()'

/tmp/ccXa7fyg.o(.text+0x74): In function `__static_initialization_and_destruction_0(int, int)':

iloczyn_cyfr.cpp: undefined reference to `std::ios_base::Init::Init()'

/tmp/ccXa7fyg.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'

collect2: ld returned 1 exit status

[mits@ozyrys Desktop]$

 

czemu tak jest ?

Odnośnik do komentarza
Udostępnij na innych stronach

Bo iostream jest biblioteką c++. W C musisz ją zamienic na stdio.h

Spróbuj z tym:

#include <stdio.h>

int main()
{
printf("Hello world!");
return 0;
}

 

gcc kompiluje tylko źródła napisane w czystym C.

g++ kompiluje wszystko, jak leci.

Odnośnik do komentarza
Udostępnij na innych stronach

Mozesz np. otworzyc nowy projekt w kdevelop i raz wybrac c++ a raz c. Bedziesz mial takie gotowe porownanie. I tak jak pisze lszk gcc to kompilator jezyka c. Sa tutaj roznice w stosunku do c++ i to nie tylko w uzywanej bibliotece... Ale to juz zupelnie inna bajka...

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...