Många datorspråk som används för att utveckla datorprogram är " kompilerade " språk , vilket betyder att källkoden skapat av programmeraren måste kompileras till maskinkod innan det kan användas . När sammanställs dock kan programmet köras på alla system som matchar systemet koden sammanställdes på : Exempelvis kan ett program kompileras på Ubuntu köras på de flesta Ubuntu distributioner . Vidare koden den typ av system har sammanställts på ( 32 - bitars eller 64 - bitars ) bestämmer vilken typ av system det programmet kan köras på . GNU Compile Collection innehåller kompilatorer för operativsystemet Linux , både 32 - bitars och 64 - bitars versioner . GCC
GNU Compiler Collection representerar en grupp av kompilatorer och verktyg sammanställning för en mängd olika språk datorprogrammering . Ursprungligen utvecklad som fri mjukvara , är GCC tillgänglig för alla att använda , även om den var avsedd att fungera enbart på Linuxsystem. Medan GCC sammanställer språk som sträcker sig från Lisp till Fortran att gå , är det mest populära användningen dess funktion som C /C + + /Objective- C-kompilator .
32 - bitars vs 64 - bitars
Vilken typ av system ett program kommer att köras på avgör vilken typ av kompilatorn den använder . Det finns två typer av system idag som programmerare måste tänka på när du kompilerar kod : 32 - bitars system och 64 - bitars system . Skillnaden mellan dessa två system kommer från storleken på tal som kan lagras av processorn . Varje dator innehåller "memory register " i processorn som lagrar data under exekvering av kod . I 32 - bitars system , innehåller varje register 32 bitar av tillgängligt utrymme . I 64 - bitars system , det finns 64 bitar .
Skillnader mellan 32 - bitars och 64 - bitars
program som kompilerats för att arbeta med 64 - bitars system antar att varje register innehåller 64 bitar . Det betyder bara att 64 - bitars processorer kan representera 64 binära siffror för varje nummer . Eftersom processorn kan representera större tal innebär det att processorn kan komma åt större mängder RAM-minne och utföra större beräkningar med mer exakthet . Om en 64 - bitars dator sammanställer ett 64 - bitars program , kommer det programmet köra endast på 64 - bitars system på grund av storleksbegränsningar . Ofta kan dock program som kompilerats för 32 - bitars system köra på 64 - bitars system .
Använda GCC
typ av program GCC sammanställer beror på version av GCC installerad. En 32 - bitars version av GCC på ett 32 - bitars OS kommer att sammanställa 32 - bitars program . En 64 - bitars version av GCC på ett 64 - bitars operativsystem , men kan kompilera program i 64 - bitars eller 32 - bitars . Använda - M32 flaggan , kommer 64 - bitars kompilator kompilera program för användning på 43 - bitars system , vilket innebär att en utvecklare kan skriva olika versioner av ett program för varje system :
$ > gcc - M32 - o output32 file.c