Bii o ṣe le Fi GNU GCC sii (C ati C + Alakojo) ati Awọn irinṣẹ Idagbasoke ni RHEL/CentOS ati Fedora


Ni ode oni, bi olutọju eto tabi ẹnjinia o ko le ni itẹlọrun nipa mọ bi o ṣe le lo CLI ati laasigbotitusita awọn olupin GNU/Linux, ṣugbọn yoo nilo lati lọ ni igbesẹ kan siwaju si agbegbe idagbasoke bi daradara lati duro ni oke ere rẹ . Ti o ba n gbero iṣẹ kan ni idagbasoke ekuro tabi awọn ohun elo fun Lainos, lẹhinna C tabi C ++ ni aaye ti o dara julọ lati bẹrẹ.

Ka Tun: Fi C, C ++ sii ati Kọ Awọn irinṣẹ pataki ni Debian/Ubuntu/Mint

Ninu àpilẹkọ yii a yoo ṣalaye bi a ṣe le fi awọn akopọ Gnu C ati C ++ sori ẹrọ ati pe o ni ibatan awọn irinṣẹ Idagbasoke gẹgẹbi adaṣe, autoconf, flex, bison, ati bẹbẹ lọ ni awọn ọna Fedora ati CentOS/RHEL.

Kini Akopọ?

Ni awọn ọrọ ti o rọrun, akopọ jẹ eto sọfitiwia kan ti o yi awọn alaye ti a kọ sinu ede orisun sinu ede ibi-afẹde ti Sipiyu ẹrọ le ni oye ati ṣiṣẹ.

Ni Fedora ati awọn itọsẹ (ni otitọ, iyẹn jẹ otitọ fun gbogbo ilolupo ilolupo distro Linux bakanna), awọn akopọ C ati C ++ ti o gbajumọ julọ jẹ gcc ati g ++, lẹsẹsẹ, mejeeji dagbasoke ati atilẹyin ni ifisilẹ nipasẹ Free Software Foundation gẹgẹbi apakan ti Ise agbese GNU.

Fifi GCC (C ++ ṣajọ ati Awọn irinṣẹ Idagbasoke

Ti gcc ati/tabi g ++ ati pe o ni ibatan Awọn irinṣẹ Idagbasoke ko fi sori ẹrọ ninu eto rẹ nipasẹ aiyipada, o le fi sori ẹrọ tuntun ti o wa lati awọn ibi ipamọ bi atẹle:

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

Ṣaaju ki a to sọ sinu kikọ koodu C tabi C ++, ọpa miiran wa lati ṣe agbekalẹ irinṣẹ irinṣẹ idagbasoke rẹ ti a fẹ lati fi han ọ.

Iyara Awọn akopọ C ati C ++ ni Linux

Nigbati o ba jẹ apakan ti ilana idagbasoke, ni lati ṣajọ ni ọpọlọpọ awọn igba lẹhin ṣiṣe awọn ayipada si koodu orisun o jẹ nla lati ni kaṣe akojopo lati yara awọn atunto ọjọ iwaju.

Ni Lainos, ohun elo kan wa ti a npe ni ccache, eyiti o yara isọdọtun nipasẹ fifipamọ awọn akopọ iṣaaju ati wiwa nigba ti akopọ kanna n ṣe lẹẹkansii. Yato si C ati C ++, o tun ṣe atilẹyin Ohun-C ati Ifojusi-C ++.

Kaadi kaṣe ni awọn idiwọn diẹ: o wulo nikan lakoko ti o n ṣajọpọ faili kan. Fun awọn iru awọn akopọ miiran, ilana naa yoo pari ṣiṣe ṣiṣakojọ gangan. Ohun kanna ni o ṣẹlẹ ti a ko ba ṣe atilẹyin asia onkọwe kan. Ẹgbẹ didan ni pe ni eyikeyi iṣẹlẹ kii yoo dabaru pẹlu akopọ gangan ati pe kii yoo jabọ aṣiṣe kan - kan ṣubu pada si akopọ gangan.

Jẹ ki a fi ọpa yii sori ẹrọ:

# yum install ccache 

ki o wo bi o ṣe n ṣiṣẹ pẹlu apẹẹrẹ kan.

Idanwo GNU C Alakojo pẹlu Eto C ++ ti o rọrun

Gẹgẹbi apẹẹrẹ, jẹ ki a lo eto C ++ ti o rọrun ti o ṣe iṣiro agbegbe ti onigun mẹrin lẹhin gigun ati iwọn rẹ ti pese bi awọn igbewọle.

Ṣii olootu ọrọ ayanfẹ rẹ ki o tẹ koodu atẹle sii, lẹhinna fipamọ bi agbegbe.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; 
} 

Lati ṣajọ koodu ti o wa loke sinu agbegbe ti a daruko ti o ṣiṣẹ ni itọsọna iṣẹ lọwọlọwọ lo -o yipada pẹlu g ++:

# g++ area.cpp -o area

Ti o ba fẹ lo anfani kaṣe, kan pase aṣẹ ti o wa loke pẹlu kaṣe, bi atẹle:

# ccache g++ area.cpp -o area 

Lẹhinna ṣiṣe alakomeji:

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

Maṣe jẹ ki apẹẹrẹ ti o rọrun yii jẹ ki o ro pe kaṣe ko wulo. Iwọ yoo wa lati mọ kini kaṣe ọpa nla kan jẹ nigbati o ba n ṣajọpọ faili koodu orisun nla kan. Ilana kanna lo fun awọn eto C pẹlu.

Akopọ

Ninu nkan yii a ti ṣalaye bii o ṣe le fi sori ẹrọ ati lo awọn akopọ GNU fun C ati C ++ ni awọn pinpin kaakiri Fedora.

Ni afikun, a fihan bi a ṣe le lo kaṣe alakojo lati yara awọn isodi ti koodu kanna. Lakoko ti o le tọka si awọn oju-iwe eniyan ori ayelujara fun gcc ati g ++ fun awọn aṣayan siwaju ati awọn apẹẹrẹ, a nireti lati gbọ lati ọdọ rẹ ti o ba ni ibeere tabi awọn asọye eyikeyi.