CFLAGS

Uit Gentoo Linux Wiki

Ga naar: navigatie, zoeken

Inhoud

[bewerken] Wat is een CFLAG?

Een CFLAG is een 'vlaggetje' dat meegegeven wordt aan een C-compiler. Ze worden gebruikt voor normale dingen als het meegeven van een output file, maar ook voor het aangeven van de architectuur van je systeem. Dit laatste is erg belangrijk voor een Gentoo installatie omdat je hiermee je compiler vertelt welke instructies hij moet gebruiken om de source-code te compileren. Hiermee kan je je Gentoo precies op je computer afstemmen.

[bewerken] Waarom zijn CFLAGS belangrijk?

Je C-Compiler, meestal GCC (GNU Compiler Collection), kan werken zonder enige flags mee te geven, maar het idee achter Gentoo is dat je je pakketen afstemt op je systeem. Daarom zal ik hier een aantal (zeker niet alle) CFLAGS bespreken.

[bewerken] De belangrijkste CFLAGS

[bewerken] -O

De optie -O (de letter) staat voor Optimize, en vertelt de compiler hoe goed te optimaliseren. Hiervoor moet je een letter of een cijfer achter de O plaatsen.

-O3 vertelt de compiler om met level 3 optimalisatie te werken. Level 3 is het hoogste level en zorgt voor de beste optimalisatie. Voordeel is dat de snelheid van gebruik (iets) omhoog gaat, nadeel is dat de binaries erg groot worden.

-Os zorgt voor een beperkte level 2 optimalisatie. Dit vertelt de compiler dat hij alles als level 2 moet compileren, maar als een binarie te groot wordt, en de snelheids winst te klein is, dat hij er voor zorgt dat de binaries klein blijven. Dit zorgt ervoor dat je programma's sneller starten dan een level 3 optimalisatie, maar iets langzamer zijn in gebruik (meestal niet noemenswaardig). Dit zou de beste keuze zijn voor desktop gebruikers.
Let Op!: AMD64 64-bit gebruikers zouden deze optie niet moeten gebruiken

[bewerken] -march

De optie -march geeft weer welke architectuur je systeem heeft. Je hoeft alleen maar aan te geven welke processor er in je systeem zit. vb: -march=pentium4

Hier is een (niet compleet) lijstje met mogelijke opties voor march i386, i486, i586, i686, pentium, pentium-mmx, pentiumpro, pentium2, pentium3, pentium4, athlon-xp

[bewerken] -pipe

De optie -pipe zorgt ervoor dat de compiler geen tijdelijke bestanden gebruikt, maar dat hij de bestanden gelijk doorgeeft aan de volgende functie. Een voordeel is een snelheidswinst tijdens het compileren, een nadeel is dat je RAM geheugen snel volloopt en je het al snel kan vergeten meerdere dingen tegelijk te doen.

[bewerken] Zijn er nog meer flags?

Jazeker, voor een completere lijst voor de GCC 3.4.0 compiler kan je hier kijken.

[bewerken] Welke mag/kan ik gebruiken?

Er bestaat reeds een vrij volledige lijst met "Safe CFLAGS" op de engelstalige wiki pagina. Je kan deze hier vinden: Safe CFLAGS - Gentoo Linux Wiki

Om wat informatie te vinden over je cpu kan je dit commando gebruiken.

cat /proc/cpuinfo

Aan de hand van het "vendor_id", "cpu_family", "model" en "stepping" is het mogelijk vrij accuraat de juiste cpu terugvinden zonder de juiste naamgeving ervan te weten.

Dit artikel is een beginnetje.
U wordt uitgenodigd op bewerk te klikken om uw kennis aan dit artikel toe te voegen.
Afkomstig van de Nederlandstalige Gentoo Wiki, het vrije Gentoo handboek. "http://nl.gentoo-wiki.com/CFLAGS"
Persoonlijke instellingen
Andere talen