Installer C, C++-kompilator- og utviklingsverktøy (byggnødvendig) i Debian/Ubuntu


De fleste Linux-systemadministratorer og ingeniører er pålagt å kunne noen grunnleggende programmering for å hjelpe dem i deres daglige oppgaver. Hvis de ønsker å gå et skritt videre inn i utviklingsområdet også (enten som kjerne- eller applikasjonsprogrammerere), så er C eller C++ det beste stedet å starte.

Les også: Installer C, C++ og utviklingsverktøy i RHEL/CentOS/Fedora

I denne artikkelen vil vi forklare hvordan du installerer C- og C++-kompilatorer og dets utviklingsverktøy (build-essential) relaterte pakker som make, libc-dev, dpkg-dev, etc. i Debian og derivater som Ubuntu og Linux Mint.

Den byggenødvendige programvaren inneholder en informasjonsliste over programvare som blir behandlet som viktig for å bygge Debian-pakker, inkludert gcc-kompilator, merke og andre nødvendige verktøy.

Hva er en kompilator?

Enkelt sagt er en kompilator et program som behandler instruksjoner skrevet på et programmeringsspråk og lager en binær fil som maskinens CPU kan forstå og utføre.

I Debian-baserte distribusjoner er de mest kjente C- og C++-kompilatorene henholdsvis gcc og g++. Begge programmene ble utviklet og vedlikeholdes fortsatt av Free Software Foundation gjennom GNU-prosjektet.

Installere C, C++ kompilator og utviklingsverktøy (viktig å bygge)

Hvis systemet ditt ikke har den essensielle byggepakken installert i systemet ditt som standard, kan du installere den siste tilgjengelige versjonen fra standard distribusjonslagre som følger:

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

Nå er vi klare til å begynne å skrive C- eller C++-kode ... eller nesten. Vi er i ferd med å vise deg enda et verktøy for å øke utviklingsverktøysettet ditt.

Fremskynde C- og C++-samlinger

Når du vet at du må kompilere et program, gjøre endringer og deretter rekompilere igjen, er det flott å ha et verktøy som ccache, som du sannsynligvis vil gjette basert på navnet, er en kompilatorbuffer.

Den fremskynder rekompileringen ved å bufre tidligere kompileringer og oppdage når den samme kompileringen gjøres igjen. Foruten C og C++, støtter den også Objective-C og Objective-C++. De eneste begrensningene er:

  1. Støtter kun bufring av kompilering av en enkelt C/C++/Objective-C/Objective-C++-fil. For andre typer kompileringer (multi-fil kompilering, kobling, for å nevne noen eksempler), vil prosessen ende opp med å kjøre den virkelige kompilatoren.
  2. Noen kompilatorflagg støttes kanskje ikke. Hvis et slikt flagg oppdages, vil ccachen stille falle tilbake til å kjøre den virkelige kompilatoren.

La oss installere dette verktøyet:

# aptitude install ccache

I neste avsnitt vil vi se noen eksempler på C- og C++-kodekompilering med og uten ccache.

Testing av C og C++ med et eksempelprogram

La oss bruke det klassiske eksemplet på et veldig grunnleggende C-program som legger til to tall. Åpne favoritttekstredigeringsprogrammet og skriv inn følgende kode, og lagre den 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 å kompilere koden ovenfor til en kjørbar navngitt sum i gjeldende arbeidskatalog, bruk -o-bryteren med gcc:

# gcc sum.c -o sum

Hvis du vil dra nytte av ccache, setter du bare ccache på kommandoen ovenfor:

# ccache gcc sum.c -o sum

Kjør deretter binæren:

# ./sum

Selv om dette grunnleggende eksemplet ikke lar oss se den fulle kraften til ccache, for større programmer vil du raskt innse hvilket flott verktøy det er. Det samme gjelder for C++-programmer også.

Sammendrag

I denne veiledningen har vi vist hvordan du installerer og bruker GNU-kompilatorene for C og C++ i Debian og derivater. I tillegg forklarte vi hvordan du bruker en kompilatorbuffer for å øke hastigheten på rekompilering av samme kode. Selv om du kan referere til online-man-sidene for gcc og g++ for flere alternativer og eksempler, ikke nøl med å sende oss et notat ved å bruke skjemaet nedenfor hvis du har spørsmål eller kommentarer.