Ubuntu Linux: Kuidas installida ja hallata GCC kompilaatorit – Põhjalik juhend programmeerijatele

目次

1. Sissejuhatus

Mis on GCC?

GCC (GNU Compiler Collection) on avatud lähtekoodiga kompilaator, mis suudab kompileerida mitut programmeerimiskeelt, sealhulgas C ja C++. Seda kasutatakse laialdaselt standardse kompilaatorina Linuxi distributsioonides.

GCC peamised omadused:

  • Toetab mitut keelt, nagu C, C++, Fortran, Java.
  • Avatud lähtekoodiga ja kõigile vabalt kasutatav.
  • Võimaldab kiiret ja usaldusväärset kompileerimist.

Miks kasutada GCC-d Ubuntus?

  1. Pakutakse standardpakina
    GCC on Ubuntus standardvarustuses ja seda saab hõlpsasti installida.
  2. Palju tugiteavet ja dokumentatsiooni
    Kuna maailmas on palju kasutajaid, on saadaval rikkalikult teavet tõrkeotsingu ja kohandamise kohta.
  3. Tasuta kasutatav
    Saate luua võimsa arenduskeskkonna, hoides samal ajal kulusid madalal.
  4. Lihtne kohandada
    Võimaldab hallata mitut GCC versiooni, et saaksite luua oma projektidele optimaalse keskkonna.

Kokkuvõte

Selles artiklis tutvustasime GCC ülevaadet ja selle eeliseid Ubuntu keskkonnas. GCC on võimas mitmekeelne ja tasuta kompilaator, mida on Ubuntu keskkonnas eriti lihtne installida.

侍エンジニア塾

2. Ettevalmistused

Süsteemi värskendamine ja sõltuvuste kontrollimine

Kõigepealt värskendage Ubuntu paketiinfot uusimasse olekusse. See aitab vältida installimisel tekkida võivaid vigu.

1. Süsteemi värskendamine uusimasse olekusse

sudo apt update
sudo apt upgrade
  • sudo apt update: Värskendab paketiloendid uusimasse olekusse.
  • sudo apt upgrade: Uuendab süsteemi paketid uusimale versioonile.

Tähelepanu:

  • Värskendamine võib võtta mitu minutit.
  • Kui pärast värskendamist kuvatakse teade “Vajab taaskäivitust”, taaskäivitage süsteem.

Arendustööriistade kontrollimine

GCC installimiseks on vaja põhilisi arendustööriistu ja pakette. Käivitage järgmine käsk ja installige vajalikud paketid eelnevalt.

sudo apt install build-essential

See käsk installib põhilised arendustööriistad, sealhulgas GCC.

Näited installitavatest pakettidest:

  • gcc (C-kompilaator)
  • g++ (C++ kompilaator)
  • make (ehitustööriist)

Installatsiooni oleku kontrollimine

Installitud pakettide ja versioonide kontrollimiseks kasutage järgmist käsku.

gcc --version

Näidisväljund:

gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.

Kui see tulemus kuvatakse, on GCC edukalt installitud.

Ettevalmistuste kokkuvõte

Sellega on GCC installimiseks vajalikud ettevalmistused lõpetatud.

  • Süsteem on värskendatud ja uuendatud uusimasse olekusse.
  • Vajalikud paketid on installitud ja keskkond on ette valmistatud.
  • GCC installatsiooni olek ja versioon on kontrollitud.

3. GCC installimise juhised

Põhiline installiprotseduur

Ubuntus on GCC ametlikust hoidlast hõlpsasti installitav. Järgige installimiseks alltoodud juhiseid.

  1. build-essential paketi installimine
sudo apt install build-essential

See käsk installib GCC, G++ ja kõik arendustööriistad.

  1. Installimise edenemise kontrollimine
    Kui installimise ajal kuvatakse “Jätkata? (Y/n)”, sisestage “Y” ja vajutage Enter.

Installijärgse kinnituse meetod

Pärast installimise lõpetamist kontrollige GCC versiooni, et veenduda õige installimises.

gcc --version

Näidisväljund:

gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.

Kui versiooniteave on kuvatud, on GCC edukalt installitud.

Täiendavate tööriistade ja teekide installimine

Kuna ainult GCC-st ei pruugi piisata, on soovitatav installida järgmised lisapaketid.

  1. G++ (C++ kompilaator) installimine
sudo apt install g++
  1. Silumistööriistade installimine
sudo apt install gdb
  1. Manuaallehtede installimine
sudo apt install manpages-dev

See võimaldab teil koheselt vaadata GCC-ga seotud abi ja manuaallehti.

Installimise ebaõnnestumise korral

  1. Kui paketti ei leita
E: Unable to locate package build-essential

Lahendus: Värskendage hoidla teavet.

sudo apt update
sudo apt upgrade
  1. Kui ilmneb õiguste viga
Permission denied

Lahendus: Käivitage käsk administraatoriõigustega, lisades käsu ette sudo.

Installimise juhiste kokkuvõte

Siin käsitlesime GCC installimise juhiseid, kontrollimise meetodeid ja lisapakettide installimist.

Peamised punktid:

  • Lihtne installida käsuga sudo apt install build-essential.
  • Kontrollige installatsiooni olekut versiooni kontrollimisega.
  • Vajadusel installige täiendavaid tööriistu, nagu G++ ja gdb.

4. GCC põhikäsud

Lihtsa programmi loomine ja kompileerimine

  1. Näidisprogrammi loomine

Alustuseks loome lihtsa “Hello, World!” programmi.

nano hello.c

Kui redaktor avaneb, sisestage järgmine kood.

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

Pärast sisestamise lõpetamist vajutage salvestamiseks Ctrl + X ja väljumiseks Y.

Programmi kompileerimine

Järgmisena kompileerime selle programmi GCC abil.

gcc hello.c -o hello

Käsu selgitus:

  • gcc: Kompilaatori käsk.
  • hello.c: Kompileeritava lähtekoodi failinimi.
  • -o hello: Määrab väljundfaili nimeks “hello”.

Kompileeritud programmi käivitamine

Kompileeritud programmi käivitamiseks kasutage järgmist käsku.

./hello

Näidisväljund:

Hello, World!

Kui see tulemus kuvatakse, tähendab see, et programm on edukalt kompileeritud ja käivitatud.

Vea korral

  1. Veakoodist tingitud viga

Näidisveateade:

hello.c: In function ‘main’:
hello.c:3:5: error: expected ‘;’ before ‘return’
    return 0;

Lahendus:
Veateade näitab probleemi asukohta (nt rida 3). Kontrollige koodi ja parandage kirjavigad.

  1. Kompileerimisviga

Näidisveateade:

gcc: command not found

Lahendus:
GCC ei pruugi olla installitud. Installige see uuesti järgmise käsu abil:

sudo apt install build-essential
  1. Käivitusviga

Näidisveateade:

bash: ./hello: Permission denied

Lahendus:
Kui failil puuduvad käivitamisõigused, lisage need järgmise käsu abil:

chmod +x hello
./hello

Programmi optimeerimise valikud

GCC võimaldab optimeerimisvõimaluste abil programmi jõudlust parandada.

Näide: optimeerimistaseme määramine

gcc -O2 hello.c -o hello
  • -O1: Põhiline optimeerimine.
  • -O2: Kõrgem optimeerimine.
  • -O3: Maksimaalne optimeerimine (prioriteetne töökiirus).

See võimaldab optimeerida täitmise kiirust ja koodi suurust.

Kokkuvõte

Selles jaotises käsitlesime GCC abil põhiprogrammi loomise, kompileerimise ja käivitamise samme.

Peamised punktid:

  • Õppisime näidiskoodi loomise ja kompileerimise meetodeid.
  • Kontrollisime vigade korral tegutsemise viise.
  • Tutvustasime optimeerimisvõimalusi programmi jõudluse parandamiseks.

5. Mitme versiooni haldamine

Mitme versiooni installimine

Ubuntus saate installida korraga erinevaid GCC versioone. Installime mitu versiooni järgmiste sammude abil.

  1. Saadaolevate versioonide kontrollimine
sudo apt search gcc-

See käsk võimaldab teil kontrollida hoidlas saadaolevate GCC versioonide loendit.

Näide: väljundnäide

gcc-9 - GNU C compiler
gcc-10 - GNU C compiler
gcc-11 - GNU C compiler
  1. Vajaliku versiooni installimine

Näiteks installime GCC 9 ja GCC 10.

sudo apt install gcc-9 gcc-10

Pärast installimise lõpetamist seadistame järgmiseks vahetamise meetodi.

Versiooni vahetamise meetod

Ubuntus saate GCC versioone hõlpsasti vahetada käsuga update-alternatives.

  1. Versioonihalduse seadistamine

Kõigepealt registreerige installitud GCC versioonid update-alternatives käsu alla.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100

Selles seadistuses on vaikimisi versiooniks eelistatud GCC 10 (100).

  1. Kasutatava versiooni valik

Järgmise käsu abil saate käsitsi valida kasutatava versiooni.

sudo update-alternatives --config gcc

Näidisväljund:

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-10  100       auto mode
  1            /usr/bin/gcc-9   90        manual mode
  2            /usr/bin/gcc-10  100       manual mode

Press <enter> to keep the current choice[*], or type selection number:

Sisestage soovitud number ja vajutage Enter.

Kuidas kasutada projekti kohta konkreetset versiooni

Kui soovite kasutada projekti kohta konkreetset versiooni, saate seda teha sümboolsete linkide vahetamise abil.

  1. Lingi loomine
sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc

See käsk seadistab GCC 9 vaikimisi.

  1. Versiooni kontrollimine
gcc --version

Kontrollige, kas seadistatud versioon on õigesti rakendatud.

Kokkuvõte

Selles jaotises käsitlesime mitme GCC versiooni installimist ja lihtsat vahetamist update-alternatives abil.

Peamised punktid:

  • Installige vajalikud versioonid ja hallake neid update-alternatives abil.
  • Võimalik on seadistada ka projekti kohta konkreetse versiooni kasutamine.

6. Tõrkeotsing

Installimisel tekkivad vead ja nende lahendamine

Vea näide 1: Paketti ei leitud

E: Unable to locate package build-essential

Põhjus:
Pakettide loend ei ole ajakohane või hoidla seadetega on probleeme.

Lahendus:
Värskendage hoidla teavet järgmiste käskudega:

sudo apt update
sudo apt upgrade
sudo apt install build-essential

Täiendav lahendus:

sudo add-apt-repository universe
sudo apt update

See võib aidata paketi leidmisel.

Vea näide 2: Õiguste viga

Permission denied

Põhjus:
Käsku ei käivitatud administraatori õigustega.

Lahendus:
Kõik installimiskäsud tuleb käivitada käsuga sudo.

sudo apt install build-essential

Kompileerimisel tekkivad vead ja nende lahendamine

Vea näide 1: Kompilaatorit ei leitud

gcc: command not found

Põhjus:
GCC ei ole installitud või PATH ei ole õigesti seadistatud.

Lahendus:
Kontrollige, kas GCC on installitud.

sudo apt install gcc

Kui see on installitud, parandage sümboolne link järgmise käsuga:

sudo ln -s /usr/bin/gcc-10 /usr/bin/gcc

Vea näide 2: Teegi linkimise viga

undefined reference to 'main'

Põhjus:
Programm ei sisalda funktsiooni main või on tegemist linkimisveaga.

Lahendus:
Kontrollige, kas kood sisaldab õigesti funktsiooni main. Kompileerige uuesti, määrates linkimisvalikud järgmiselt:

gcc -o output main.c -lm

Käivitamisel tekkivad vead ja nende lahendamine

Vea näide 1: Puudub käivitamisõigus

bash: ./program: Permission denied

Põhjus:
Käivitataval failil puudub käivitamisõigus.

Lahendus:
Andke käivitamisõigus järgmise käsuga:

chmod +x program
./program

Vea näide 2: Puuduv teek

error while loading shared libraries: libXXX.so: cannot open shared object file: No such file or directory

Põhjus:
Nõutav jagatud teek ei ole installitud.

Lahendus:
Kontrollige puuduva teegi nime ja installige see.

sudo apt install libXXX-dev

Versioonihalduse vead ja nende lahendamine

Vea näide: Vahetamine ei rakendu

gcc --version

Kui vahetatud versiooni ei kuvata, kontrollige uuesti update-alternatives seadeid.

Lahendus:

  1. Kontrollige seadete loendit.
sudo update-alternatives --config gcc
  1. Valige õige number.
  2. Värskendage sümboolset linki.
sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc

Kokkuvõte

Selles jaotises käsitlesime GCC installimisel ja kasutamisel sageli esinevaid probleeme ja nende lahendusi.

Peamised punktid:

  • Installivigade lahendamiseks värskendage pakette ja hoidla seadeid.
  • Kompileerimisvigade korral kontrollige koodi ja linkimisvalikuid.
  • Käivitusvigade korral kontrollige õigusi ja teekide olemasolu.
  • Versioonihalduse ajal saab sümboolseid linke ja update-alternatives kasutada kohandamiseks.

7. KKK jaotis

Kuidas installida GCC uusimat versiooni?

Küsimus:
Soovin installida GCC uusimat versiooni, kuid vaikimisi hoidlas on ainult vanemad versioonid. Kuidas saan installida uusima versiooni?

Vastus:
GCC uusima versiooni installimiseks lisage PPA hoidla.

  1. Lisage PPA hoidla:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
  1. Värskendage paketiloendit:
sudo apt update
  1. Installige uusim versioon:
sudo apt install gcc-12
  1. Kontrollige versiooni:
gcc --version

Kuidas GCC-d desinstallida?

Küsimus:
Kuidas saan GCC-d desinstallida?

Vastus:
GCC saate desinstallida järgmiste käskudega:

sudo apt remove gcc
sudo apt autoremove

Lisaks seotud tööriistade eemaldamiseks lisage järgmine käsk:

sudo apt remove build-essential

Mida teha, kui GCC valikus on ainult vanad versioonid?

Küsimus:
Kasutades update-alternatives --config gcc, saan valida ainult vanemaid versioone. Kuidas saan lisada uusima versiooni?

Vastus:
Lisage uusim versioon käsitsi.

  1. Installige vajalik versioon.
sudo apt install gcc-12
  1. Lisage see käsitsi alternatiivsetesse seadetesse.
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120
  1. Valige versioon.
sudo update-alternatives --config gcc

Kuidas lahendada sõltuvusvigu?

Küsimus:
GCC installimisel tekkis sõltuvusviga. Kuidas seda lahendada?

Vastus:
Sõltuvusvead võivad olla tingitud sellest, et süsteem ei ole ajakohane. Käivitage järgmised käsud:

sudo apt update
sudo apt upgrade

Kui see ikka ei lahenda probleemi, parandage sõltuvused automaatselt.

sudo apt --fix-broken install

Kuidas kasutada projekti kohta kindlat GCC versiooni?

Küsimus:
Kuidas seadistada projekti kohta erinevate GCC versioonide kasutamist?

Vastus:
Seadistage sümboolne link projekti kaustas.

  1. Looge projekti spetsiifiline GCC link.
ln -s /usr/bin/gcc-9 ./gcc
  1. Kasutage seda kohaliku kompileerimise ajal.
./gcc -o program program.c

Mida teha, kui ilmub veateade “command not found”?

Küsimus:
Olen installinud GCC, kuid kuvatakse “gcc: command not found“. Mida peaksin tegema?

Vastus:
Kõigepealt kontrollige installatsiooni.

dpkg -l | grep gcc

Kui GCC ei ole installitud, installige see uuesti.

sudo apt install gcc

Kui see ikka ei lahenda probleemi, kontrollige sümboolset linki.

ls -l /usr/bin/gcc

Kui link on katki, parandage see.

sudo ln -sf /usr/bin/gcc-10 /usr/bin/gcc

Kokkuvõte

Selles jaotises tutvustasime GCC-ga seotud korduma kippuvaid küsimusi ja nende konkreetseid lahendusi.

Peamised punktid:

  • Uusim versioon on installitav PPA hoidla kaudu.
  • Desinstallimine ja versioonihaldus on hõlpsasti seadistatav update-alternatives abil.
  • Tutvustati konkreetseid käskude näiteid probleemide korral.

8. Kokkuvõte ja järgmised sammud

Artikli põhipunktide kokkuvõte

  1. GCC ülevaade ja roll
  • GCC on võimas kompilaator, mis toetab mitut programmeerimiskeelt, sealhulgas C ja C++.
  • Ubuntus on see hõlpsasti ametlikust hoidlast installitav ja sobib ideaalselt arenduskeskkonna loomiseks.
  1. Installimise ja ettevalmistamise sammud
  • Värskendasime süsteemi uusimasse olekusse ja installisime build-essential paketi.
  • Valmistasime keskkonna ette, kontrollides versioone ja lahendades sõltuvusprobleeme.
  1. Põhiline kasutus
  • Käsitlesime näidisprogrammi loomise, kompileerimise ja käivitamise voogu.
  • Tutvustasime ka vigade korral tegutsemise viise ja optimeerimisvõimalusi.
  1. Mitme versiooni haldamine ja vahetamine
  • Selgitasime, kuidas kasutada update-alternatives käsku, et vahetada projekti kohta sobivaid GCC versioone.
  1. Tõrkeotsing ja KKK
  • Käsitlesime konkreetsete näidetega võimalikke vigu ja nende lahendusi installimisel ja kasutamisel.

Lisamaterjalide tutvustus

Allpool on toodud ressursid edasiseks õppimiseks ja rakendamiseks.

  1. Ubuntu ametlik dokumentatsioon
  1. GNU ametlik GCC dokumentatsioon
  1. Linuxi konsoolijuhend
  1. Õppimisveebisaidid ja foorumid

Järgmised sammud

  1. Rakendamine programmiarenduses
  • Kasutage GCC-d oma tegelikes projektides, et arendada keerukamaid programme.
  1. Teekide kasutamine ja laiendamine
  • Vajadusel installige lisateeke ja laiendage oma projektide funktsionaalsust.
  1. Uute keelte ja tööriistade omandamine
  • Püüdke oma oskusi täiendada, omandades muid programmeerimiskeeli ja ehitustööriistu.
  1. Kogukonnas osalemine
  • Osalege foorumites ja avatud lähtekoodiga projektides, jagage teadmisi ja lihvige oma oskusi praktikas.

Kokkuvõtte lõppsõna

See artikkel käsitles GCC installimist ja kasutamist Ubuntus samm-sammult. See hõlmab juhiseid ja tõrkeotsingut, et algajad saaksid keskkonna seadistamisel hõlpsalt navigeerida.

Lõppsõna:
Kasutage seda artiklit oma projektides GCC rakendamiseks ja nautige programmiarendust. Kui teil on veel küsimusi, kasutage KKK jaotist või lisamaterjale nende lahendamiseks.

Järgmises artiklis käsitleme C ja C++ programmeerimiskeelte põhisüntaksit ja täiustatud arendusmeetodeid. Jälgige kindlasti tulevasi värskendusi!