|
|
Rivi 1: |
Rivi 1: |
| GCC ([[GNU]] Compiler Collection) on [[GNU]]-projektin kääntäjäkokoelma, jolla voi kääntää ohjelmointikieliä [[C]], [[C plus plus|C++]] (CPP), Objective-C, Fortran, [[Java]] ja Ada. GCC sisältää myös näiden kielten kirjastot. GCC on saatavissa todella monille [http://gcc.gnu.org/install/specific.html alustoille], ja mm. Nokian älypuhelimista tunnetulle Symbian-käyttöjärjestelmälle valmistetut ohjelmat käännetään sillä.
| | HYVÄSTI NUSSIJAT |
| | |
| GCC:n versio 4.0.0 julkaistiin huhtikuun 20. päivänä 2005.
| |
| | |
| ==Kääntäminen==
| |
| ===[[C]] ja [[C plus plus|C++]]===
| |
| C-ohjelmat käännetään komennolla:
| |
| gcc tiedosto1.c tiedosto2.c -o ohjelma
| |
| Vastaavasti C++-ohjelmissa korvataan gcc komennolla g++ (joka itse asiassa ajaa gcc-kääntäjän linkittäen mukaan C++:n standardikirjastot).
| |
| | |
| Lippuja joita voi lisätä käännöskomentoon:
| |
| *-O: Asettaa optimointitason (0-3, 0 ei optimointia. Muut optimointiasetukset selityksineen löytyvät [http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html GCC:n ohjekirjasta]). Yleensä kannattaa käyttää muotoa <tt>-O2</tt>
| |
| *-l: Kirjaston linkittäminen, esim. <tt>-lsdl</tt> linkittäisi projektiin mukaan libsdl.so-kirjaston asetuksissa määritellystä paikasta. [[pkg-config]] auttaa oikeiden kirjastovalitsinten löytämisessä.
| |
| *-W: Asettaa varoitustason, eli sen, mitkä varoitukset näytetään. Esimerkiksi <tt>-Wall</tt> näyttäisi kaikki mahdolliset varoitukset kohdista, joita pidetään huonona tyylinä ja jotka on helppo välttää.
| |
| *-I: Lisää otsikkotiedostojen poluksi määritellyn. Esimerkiksi jos koodissa on #include <foo.h>, ja foo.h sijaitsee vaikka hakemistossa ~/headerit, käytetään lippua <tt>-I~/headerit</tt>
| |
| *-g: Lisää binääriin GNU-tyyliset debug-symbolit, olennainen esim [[Gdb]]:n ja [[Valgrind]]in kanssa.
| |
| *-pedantic: antaa standardin vaatiman diagnostiikan vähäpätöisistäkin syntaksivirheistä.
| |
| | |
| ==Katso myös==
| |
| *[[Distcc]]
| |
| *[[Make]]
| |
| | |
| ==Aiheesta muualla==
| |
| * [http://gcc.gnu.org/ GCC:n kotisivu]
| |
| * [http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html Täysi lista GCC:n optimointi-lipuista selityksineen englanniksi]
| |
| | |
| [[Luokka:Kehitystyökalut]]
| |
| [[Luokka:Komentorivin erikoisohjelmat]]
| |