Installer C, C ++ kompilator- og udviklingsværktøjer (build-essential) i Debian/Ubuntu


De fleste Linux-systemadministratorer og ingeniører er forpligtet til at kende nogle grundlæggende programmering for at hjælpe dem med deres daglige opgaver. Hvis de også vil gå et skridt videre ind i udviklingsområdet (enten som kerne- eller applikationsprogrammerere), er C eller C ++ det bedste sted at starte.

Læs også: Installer C, C ++ og udviklingsværktøjer i RHEL/CentOS/Fedora

I denne artikel vil vi forklare, hvordan du installerer C- og C ++ -compilere, og det er relaterede pakker til udviklingsværktøjer (build-essentielle) såsom fabrikat, libc-dev, dpkg-dev osv. I Debian og derivater som Ubuntu og Linux Mint.

Den nødvendige software indeholder en informativ liste over software, der behandles som vigtige for at opbygge Debian-pakker, herunder gcc-kompilator, fabrikat og andre nødvendige værktøjer.

Hvad er en kompilator?

Kort sagt, en compiler er et softwareprogram, der behandler instruktioner skrevet på et programmeringssprog og opretter en binær fil, som maskinens CPU kan forstå og udføre.

I Debian-baserede distributioner er de mest kendte C- og C ++ -compilere henholdsvis gcc og g ++. Begge programmer blev udviklet og vedligeholdes stadig af Free Software Foundation gennem GNU-projektet.

Installation af C, C ++ kompilator- og udviklingsværktøjer (build-essential)

Hvis dit system som standard ikke har en build-essentiel pakke installeret i dit system, kan du installere den senest tilgængelige version fra standardfordelingslagrene som følger:

# apt-get update && apt-get install build-essential     
OR
$ sudo get update && apt-get install build-essential

Nu er vi klar til at skrive C- eller C ++ -koden ... eller næsten. Vi er ved at vise dig endnu et værktøj til at øge dit udviklingsværktøjssæt.

Fremskynde C- og C ++ -kompileringer

Når du ved, at du bliver nødt til at kompilere et program, foretage ændringer og derefter kompilere igen, er det dejligt at have et værktøj som ccache, som som du sandsynligvis vil gætte baseret på dets navn, er en compiler-cache.

Det fremskynder rekompilering ved at cache tidligere kompileringer og registrere, hvornår den samme kompilering udføres igen. Udover C og C ++ understøtter den også Objective-C og Objective-C ++. De eneste begrænsninger er:

  1. Understøtter kun caching af kompilering af en enkelt C/C ++/Objective-C/Objective-C ++ fil. For andre typer kompileringer (kompilering af flere filer, sammenkædning, for at nævne nogle få eksempler), ender processen med at køre den rigtige kompilator.
  2. Nogle compiler-flag understøttes muligvis ikke. Hvis et sådant flag opdages, vil ccache lydløst falde tilbage til at køre den rigtige compiler.

Lad os installere dette værktøj:

# aptitude install ccache

I det næste afsnit vil vi se nogle eksempler på C- og C ++ - kodekompilering med og uden ccache.

Test af C og C ++ med et prøveprogram

Lad os bruge det klassiske eksempel på et meget grundlæggende C-program, der tilføjer to tal. Åbn din foretrukne teksteditor, og indtast følgende kode, og gem derefter som sum.c :

#include<stdio.h>
int main()
{
   int a, b, c;
   printf("Enter two numbers to add, separated by a space: ");
   scanf("%d%d",&a,&b);
   c = a + b;
   printf("The sum of equals %d\n",c);
   return 0;
}

For at kompilere ovenstående kode i en eksekverbar navngivet sum i den aktuelle arbejdsmappe skal du bruge -o-kontakten med gcc:

# gcc sum.c -o sum

Hvis du vil drage fordel af ccache, skal du blot tilføje ovenstående kommando med ccache som følger:

# ccache gcc sum.c -o sum

Kør derefter binærprogrammet:

# ./sum

Mens dette grundlæggende eksempel ikke tillader os at se den fulde kraft af ccache, for større programmer vil du hurtigt indse, hvad et fantastisk værktøj det er. Det samme gælder også C ++ - programmer.

Resumé

I denne vejledning har vi vist, hvordan du installerer og bruger GNU-compilere til C og C ++ i Debian og derivater. Derudover forklarede vi, hvordan man bruger en compiler-cache til at fremskynde rekompileringer af den samme kode. Mens du kan henvise til de online mandsider for gcc og g ++ for yderligere muligheder og eksempler, tøv ikke med at sende os en note ved hjælp af nedenstående formular Hvis du har spørgsmål eller kommentarer.