C, C++- kompilatory gcc i g++ kiedy i do czego.

Dodano: 2010-04-24

Kompilatory gcc i g++ są prostym w obsłudze i dobrym narzędziem do szybkiego tworzenia programów z plików źródłowych, najczęściej przy wykorzystaniu skryptów. Ułatwiają one zautomatyzowanie instalacji napisanych programów w języku C i C++ w komputerze użytkownika.

Różnica między tymi kompilatorami jest „subtelna” i można w uproszczeniu napisać:

Rozpatrzmy dwa przykłady oraz weźmy pod uwagę użycie dwóch kompilatorów gcc i g++. Do dyspozycji będziemy mieli sześć plików. Trzy pliki zawierające kod napisany w C (mainc.cpp, cstruct.h, cstruct.cpp), trzy pliki zawierające kod napisany w C++ (mainob.cpp, cobject.h, cobject.cpp).

Prawidłowa kompilacja dla plików zawierających kod w C powinna wyglądać następująco (dodam tylko, że użycie g++, nie jest zabronione ;-):


gcc -c cstruct.cpp
gcc -c mainc.cpp
gcc mainc.o cstruct.o -o mainc

Jeżeli pojawi się błąd undefined reference to `__gxx_personality_v0' oznacza to, że kompilator gcc domyślnie nie dodaje (linkuje) bibliotek stdc++. Najlepiej użyć g++ lub też ręcznie dodać do kompilacji biblioteki:


gcc -c cstruct.cpp -lstdc++
gcc -c mainc.cpp -lstdc++
gcc mainc.o cstruct.o -o mainc -lstdc++

Kod w C++ skompilujemy tak:


g++ -c cobject.cpp
g++ -c mainob.cpp
g++ mainob.o cobject.o -o mainob

Artykół ten w przybliżeniu pokazał możliwości dwóch kompilatorów, więcej znajdziesz w Internecie.