Vyhledávání na webu

Nainstalujte kompilátor C, C++ a nástroje pro vývoj (základní sestavení) v Debian/Ubuntu


Většina systémových administrátorů a inženýrů Linuxu musí znát základní programování, které jim pomůže s jejich každodenními úkoly. Pokud chtějí jít ještě o krok dále do oblasti vývoje (ať už jako programátoři jádra nebo aplikací), pak je nejlepším místem pro začátek C nebo C++.

Čtěte také: Instalace C, C++ a vývojových nástrojů v RHEL/CentOS/Fedora

V tomto článku si vysvětlíme, jak nainstalovat kompilátory C a C++ a jejich Vývojové nástroje (sestavení-základní ) související balíčky, jako jsou make, libc-dev, dpkg-dev atd. v Debianu a odvozených verzích, jako je Ubuntu a Linux Mint.

Software build-essential obsahuje informační seznam softwaru, který je považován za důležitý pro vytváření balíčků Debianu, včetně kompilátoru gcc, make a dalších potřebných nástrojů.

Co je to kompilátor?

Jednoduše řečeno, kompilátor je softwarový program, který zpracovává instrukce napsané v programovacím jazyce a vytváří binární soubor, kterému CPU stroje rozumí a může jej spustit.

V distribucích založených na Debianu jsou nejznámější kompilátory C a C++ gcc a g++. Oba programy byly vyvinuty a stále jsou spravovány Free Software Foundation prostřednictvím projektu GNU.

Instalace kompilátoru C, C++ a vývojových nástrojů (nezbytné sestavení)

Pokud váš systém nemá ve výchozím nastavení nainstalovaný balíček sestavení-essential, můžete nainstalovat nejnovější dostupnou verzi z výchozích úložišť distribuce takto:

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

Nyní jsme připraveni začít psát kód C nebo C++… nebo téměř. Chystáme se vám ukázat další nástroj, který rozšíří vaši sadu vývojářských nástrojů.

Zrychlení kompilací C a C++

Když víte, že budete muset program zkompilovat, provést změny a poté znovu zkompilovat, je skvělé mít nástroj jako ccache, který, jak pravděpodobně uhodnete na základě jeho názvu, je mezipaměť kompilátoru.

Urychluje rekompilaci tím, že ukládá předchozí kompilace do mezipaměti a detekuje, kdy se stejná kompilace provádí znovu. Kromě C a C++ podporuje také Objective-C a Objective-C++. Jediná omezení jsou:

  1. Podporuje pouze ukládání do mezipaměti kompilaci jednoho souboru C/C++/Objective-C/Objective-C++. U jiných typů kompilací (vícesouborové kompilace, linkování, abychom jmenovali několik příkladů) proces skončí spuštěním skutečného kompilátoru.
  2. Některé příznaky kompilátoru nemusí být podporovány. Pokud je takový příznak detekován, ccache se tiše vrátí ke spuštění skutečného kompilátoru.

Pojďme nainstalovat tento nástroj:

aptitude install ccache

V další části uvidíme několik příkladů kompilace kódu v C a C++ s a bez ccache.

Testování C a C++ s ukázkovým programem

Použijme klasický příklad velmi základního programu v C, který sčítá dvě čísla. Otevřete svůj oblíbený textový editor a zadejte následující kód, poté jej uložte jako 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;
}

Chcete-li zkompilovat výše uvedený kód do spustitelného souboru s názvem sum v aktuálním pracovním adresáři, použijte přepínač -o s gcc:

gcc sum.c -o sum

Pokud chcete využít výhod ccache, stačí před výše uvedený příkaz přidat ccache, a to následovně:

ccache gcc sum.c -o sum

Poté spusťte binární soubor:

./sum

Zatímco tento základní příklad nám neumožňuje vidět plnou sílu ccache, u větších programů si rychle uvědomíte, jak skvělý nástroj to je. Totéž platí pro programy C++.

souhrn

V této příručce jsme si ukázali, jak nainstalovat a používat kompilátory GNU pro C a C++ v Debianu a odvozeninách. Kromě toho jsme vysvětlili, jak používat mezipaměť kompilátoru k urychlení rekompilace stejného kódu. I když se můžete podívat na online manuálové stránky pro gcc a g++, kde najdete další možnosti a příklady, neváhejte nám napsat poznámku pomocí formuláře níže, pokud máte nějaké dotazy nebo připomínky.