Ero sivun ”GCC” versioiden välillä
Siirry navigaatioon
Siirry hakuun
Pb (keskustelu | muokkaukset) p (erikoisohjelmat-luokkaan) |
p (Lisätty linkki GCC:n sivulle, joka kertoo kaikki optimointiin liittyvät vivut) |
||
Rivi 10: | Rivi 10: | ||
Lippuja joita voi lisätä käännöskomentoon: | Lippuja joita voi lisätä käännöskomentoon: | ||
*-O: Asettaa optimointitason (0-3, 0 ei optimointia). Yleensä kannattaa käyttää muotoa <tt>-O2</tt> tai <tt>-O3</tt> | *-O: Asettaa optimointitason (0-3, 0 ei optimointia. Muut optimointi-vivut selityksineen löytyvät [http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html täältä]). Yleensä kannattaa käyttää muotoa <tt>-O2</tt> tai <tt>-O3</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ä. | *-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ää. | *-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ää. | ||
Rivi 23: | Rivi 23: | ||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
* [http://gcc.gnu.org/ GCC:n kotisivu] | * [http://gcc.gnu.org/ GCC:n kotisivu] | ||
* [http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html Täysi lista GCC:n optimointi-lipuista selityksineen] | |||
[[Luokka:Kehitystyökalut]] | [[Luokka:Kehitystyökalut]] | ||
[[Luokka:Komentorivin erikoisohjelmat]] | [[Luokka:Komentorivin erikoisohjelmat]] |
Versio 1. marraskuuta 2007 kello 21.31
GCC (GNU Compiler Collection) on GNU-projektin kääntäjäkokoelma, jolla voi kääntää ohjelmointikieliä C, C++ (CPP), Objective-C, Fortran, Java ja Ada. GCC sisältää myös näiden kielten kirjastot. GCC on saatavissa todella monille alustoille, ja mm. Nokian älypuhelimista tunnetulle Symbian-käyttöjärjestelmälle valmistetut ohjelmat käännetään sillä.
GCC:n versio 4.0.0 julkaistiin huhtikuun 20. päivänä 2005.
Kääntäminen
C ja 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 optimointi-vivut selityksineen löytyvät täältä). Yleensä kannattaa käyttää muotoa -O2 tai -O3
- -l: Kirjaston linkittäminen, esim. -lsdl 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 -Wall 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 -I~/headerit
- -g: Lisää binääriin GNU-tyyliset debug-symbolit, olennainen esim Gdb:n ja Valgrindin kanssa.
- -pedantic: antaa standardin vaatiman diagnostiikan vähäpätöisistäkin syntaksivirheistä.