Vyhledávání na webu

Jak nainstalovat GNU GCC (C a C++ Compiler) a vývojové nástroje v RHEL/CentOS a Fedora


V dnešní době se jako správce systému nebo inženýr nemůžete cítit spokojeni tím, že víte, jak používat CLI a odstraňovat problémy se servery GNU/Linux, ale budete muset jít ještě o krok dále do oblasti vývoje, abyste zůstali na vrcholu své hry. . Pokud uvažujete o kariéře ve vývoji jádra nebo aplikací pro Linux, pak C nebo C++ je nejlepší místo, kde začít.

Čtěte také: Instalace C, C++ a Build Essential Tools v Debian/Ubuntu/Mint

V tomto článku vysvětlíme, jak nainstalovat kompilátory Gnu C a C++ a související vývojové nástroje, jako je automake, autoconf, flex, bison atd. v systémech Fedora a CentOS/RHEL.

Co je kompilátor?

Jednoduše řečeno, kompilátor je softwarový program, který převádí příkazy napsané ve zdrojovém jazyce do cílového jazyka, kterému může CPU stroje rozumět a provádět jej.

Ve Fedoře a jejích derivátech (ve skutečnosti to platí i pro celý ekosystém distribuce Linuxu) jsou nejznámější kompilátory C a C++ gcc a g++, oba vyvinuté a aktivně podporované Free Software Foundation jako součást projektu GNU.

Instalace GCC (C++ Compiler and Development Tools

Pokud gcc a/nebo g++ a související Nástroje pro vývoj nejsou ve vašem systému ve výchozím nastavení nainstalovány, můžete nainstalovat nejnovější dostupné z úložišť jak následuje:

yum groupinstall 'Development Tools'		[on CentOS/RHEL 7/6]
dnf groupinstall 'Development Tools'		[on Fedora 22+ Versions]

Než se pustíme do psaní kódu v C nebo C++, chceme vám ukázat další nástroj pro vylepšení vaší sady vývojových nástrojů.

Zrychlení kompilací C a C++ v Linuxu

Když jako součást vývojového procesu musíte po provedení změn ve zdrojovém kódu několikrát rekompilovat, je skvělé mít mezipaměť kompilátoru pro urychlení budoucích rekompilací.

V Linuxu existuje nástroj nazvaný ccache, který 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++.

Cache má jen několik omezení: je užitečná pouze při rekompilaci jednoho souboru. U jiných typů kompilací proces skončí spuštěním skutečného kompilátoru. Totéž se stane, pokud příznak kompilátoru není podporován. Světlou stránkou je, že v žádném případě nebude zasahovat do skutečné kompilace a nevyvolá chybu – stačí se vrátit ke skutečnému kompilátoru.

Pojďme nainstalovat tento nástroj:

yum install ccache 

a podívejte se, jak to funguje na příkladu.

Testování kompilátoru GNU C pomocí jednoduchého programu C++

Jako příklad použijeme jednoduchý program C++, který vypočítá plochu obdélníku poté, co byla zadána jeho délka a šířka jako vstupy.

Otevřete svůj oblíbený textový editor a zadejte následující kód, poté jej uložte jako area.cpp:

#include <iostream> 
using namespace std;  

int main() 
{ 
float length, width, area; 

cout << "Enter the length of the rectangle: "; 
cin >> length; 
cout << "Now enter the width: "; 
cin >> width; 
area = length*width; 

cout <<"The area of the rectangle is: "<< area << endl;

return 0; 
} 

Chcete-li zkompilovat výše uvedený kód do spustitelné pojmenované oblasti v aktuálním pracovním adresáři, použijte přepínač -o s g++:

g++ area.cpp -o area

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

ccache g++ area.cpp -o area 

Poté spusťte binární soubor:

./area
Ukázkový výstup
Enter the length of the rectangle: 2.5
Now enter the width: 3.7
The area of the rectangle is: 9.25

Nedovolte, abyste si na tomto jednoduchém příkladu mysleli, že cache není užitečné. Při rekompilaci velkého souboru zdrojového kódu poznáte, jaký skvělý nástroj je cache. Stejný princip platí i pro programy C.

souhrn

V tomto článku jsme vysvětlili, jak nainstalovat a používat GNU kompilátory pro C a C++ v distribucích založených na Fedoře.

Kromě toho jsme si ukázali, jak použít mezipaměť kompilátoru k urychlení rekompilací 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, těšíme se na vaši odpověď, pokud máte nějaké dotazy nebo připomínky.