Kif Tinstalla GNU GCC (Kompilatur C u C++) u Għodod ta' Żvilupp f'RHEL/CentOS u Fedora


Illum il-ġurnata, bħala amministratur tas-sistema jew inġinier ma tistax tħossok sodisfatt billi tkun taf kif tuża s-CLI u ssolvi l-problemi tas-servers GNU/Linux, iżda ser ikollok bżonn tmur pass ieħor fil-qasam tal-iżvilupp ukoll biex tibqa' fil-quċċata tal-logħba tiegħek. . Jekk qed tikkunsidra karriera fl-iżvilupp tal-kernel jew applikazzjonijiet għal Linux, allura C jew C++ huwa l-aħjar post biex tibda.

Aqra wkoll: Installa C, C++ u Ibni Għodod Essenzjali f'Debian/Ubuntu/Mint

F'dan l-artikolu ser nispjegaw kif tinstalla l-kompilaturi Gnu C u C++ u l-għodod ta 'żvilupp relatati bħal automake, autoconf, flex, bison, eċċ fis-sistemi Fedora u CentOS/RHEL.

X'inhu Kompilatur?

Fi kliem sempliċi, kompilatur huwa programm ta 'softwer li jittrasforma dikjarazzjonijiet miktuba f'lingwa sors f'lingwa fil-mira li s-CPU tal-magna jista' jifhem u jesegwixxi.

F'Fedora u d-derivattivi (fil-fatt, dan huwa minnu għall-ekosistema tad-distro Linux kollha wkoll), l-aktar kompilaturi C u C++ magħrufa huma gcc u g++, rispettivament, it-tnejn żviluppati u appoġġjati b'mod attiv mill-Free Software Foundation bħala parti mill- Proġett GNU.

Installazzjoni tal-GCC (C++ Kompilatur u Għodod ta' Żvilupp

Jekk gcc u/jew g++ u l-Għodod ta' Żvilupp relatati ma jkunux installati fis-sistema tiegħek b'mod awtomatiku, tista' tinstalla l-aħħar disponibbli mir-repożitorji kif ġej:

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

Qabel ma ngħaddu fil-kitba tal-kodiċi C jew C++, hemm għodda oħra biex issaħħaħ is-sett ta 'għodda ta' żvilupp tiegħek li rridu nuruk.

Tħaffef tal-Kompilazzjoni C u C++ fil-Linux

Meta inti bħala parti mill-proċess ta 'żvilupp, ikollok terġa' tikkompila diversi drabi wara li tagħmel bidliet fil-kodiċi tas-sors huwa tajjeb li jkollok cache tal-kompilatur biex tħaffef rikompilazzjoni futura.

Fil-Linux, hemm utilità msejħa ccache, li tħaffef il-kompilazzjoni mill-ġdid billi tiġbor fil-caching kompilazzjonijiet preċedenti u tiskopri meta l-istess kumpilazzjoni tkun qed issir mill-ġdid. Minbarra C u C++, jappoġġja wkoll Objective-C u Objective-C++.

Ccache għandu biss ftit limitazzjonijiet: huwa utli biss waqt li tikkompila mill-ġdid fajl wieħed. Għal tipi oħra ta’ kompilazzjonijiet, il-proċess jispiċċa jħaddem il-kompilatur attwali. L-istess ħaġa jiġri jekk bandiera tal-kompilatur ma tkunx appoġġjata. In-naħa tajba hija li fi kwalunkwe każ mhux se jinterferixxi mal-kumpilazzjoni attwali u mhux se tarmi żball - sempliċement taqa 'lura għall-kompilatur attwali.

Ejja ninstallaw din l-għodda:

# yum install ccache 

u ara kif taħdem b'eżempju.

Ittestjar tal-GNU C Compiler bi Programm sempliċi C++

Bħala eżempju, ejja nużaw programm sempliċi C++ li jikkalkula l-erja ta 'rettangolu wara li t-tul u l-wisa' tiegħu jkunu ġew ipprovduti bħala inputs.

Iftaħ l-editur tat-test favorit tiegħek u daħħal il-kodiċi li ġej, imbagħad issalva bħala 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; 
} 

Biex tikkompila l-kodiċi ta 'hawn fuq f'żona msemmija eżekutibbli fid-direttorju tax-xogħol kurrenti uża l-iswiċċ -o b'g++:

# g++ area.cpp -o area

Jekk trid tieħu vantaġġ minn ccache, ippreċedi biss il-kmand ta 'hawn fuq b'ccache, kif ġej:

# ccache g++ area.cpp -o area 

Imbagħad mexxi l-binarju:

./area
Enter the length of the rectangle: 2.5
Now enter the width: 3.7
The area of the rectangle is: 9.25

Tħallix dan l-eżempju sempliċi jġiegħlek taħseb li ccache mhix utli. Int issir taf x'inhu ccache għodda kbira meta tikkompila mill-ġdid fajl kbir tal-kodiċi tas-sors. L-istess prinċipju japplika għall-programmi C ukoll.

Sommarju

F'dan l-artikolu spjegajna kif tinstalla u tuża l-kompilaturi GNU għal C u C++ f'distribuzzjonijiet ibbażati fuq Fedora.

Barra minn hekk, urejna kif tuża cache tal-kompilatur biex tħaffef il-kompilazzjonijiet tal-istess kodiċi. Filwaqt li tista' tirreferi għall-paġni man online għal gcc u g++ għal aktar għażliet u eżempji, nistennew bil-ħerqa li nisimgħu mingħandek jekk għandek xi mistoqsijiet jew kummenti.