ค้นหาเว็บไซต์

วิธีติดตั้ง GNU GCC (คอมไพเลอร์ C และ C++) และเครื่องมือการพัฒนาใน RHEL/CentOS และ Fedora


ทุกวันนี้ ในฐานะผู้ดูแลระบบหรือวิศวกร คุณไม่สามารถรู้สึกพึงพอใจได้หากรู้วิธีใช้ CLI และแก้ไขปัญหาเซิร์ฟเวอร์ GNU/Linux แต่จะต้องก้าวไปอีกขั้นหนึ่งในด้านการพัฒนาเช่นกัน เพื่อให้อยู่ในอันดับต้นๆ ของเกมของคุณ . หากคุณกำลังพิจารณาอาชีพด้านการพัฒนาเคอร์เนลหรือแอปพลิเคชันสำหรับ Linux C หรือ C++ คือจุดเริ่มต้นที่ดีที่สุด

อ่านเพิ่มเติม: ติดตั้ง C, C++ และ Build Essential Tools ใน Debian/Ubuntu/Mint

ในบทความนี้ เราจะอธิบายวิธีการติดตั้งคอมไพเลอร์ Gnu C และ C++ และเครื่องมือการพัฒนาที่เกี่ยวข้อง เช่น automake, autoconf, flex, bison ฯลฯ ในระบบ Fedora และ CentOS/RHEL

คอมไพเลอร์คืออะไร?

กล่าวง่ายๆ ก็คือ คอมไพเลอร์คือโปรแกรมซอฟต์แวร์ที่แปลงคำสั่งที่เขียนด้วยภาษาต้นทางให้เป็นภาษาเป้าหมายที่ CPU ของเครื่องสามารถเข้าใจและดำเนินการได้

ใน Fedora และอนุพันธ์ (อันที่จริงนั่นเป็นจริงสำหรับระบบนิเวศ distro Linux ทั้งหมดเช่นกัน) คอมไพเลอร์ C และ C++ ที่เป็นที่รู้จักมากที่สุดคือ gcc และ g++ ตามลำดับ ทั้งได้รับการพัฒนาและสนับสนุนอย่างแข็งขันโดย Free Software Foundation ซึ่งเป็นส่วนหนึ่งของโครงการ GNU

การติดตั้ง GCC (คอมไพเลอร์ C ++ และเครื่องมือการพัฒนา

หาก gcc และ/หรือ g++ และ เครื่องมือการพัฒนา ที่เกี่ยวข้องไม่ได้รับการติดตั้งในระบบของคุณตามค่าเริ่มต้น คุณสามารถติดตั้งเวอร์ชันล่าสุดที่มีอยู่จากที่เก็บข้อมูล ดังต่อไปนี้:

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

ก่อนที่เราจะเจาะลึกเรื่องการเขียนโค้ด C หรือ C++ มีเครื่องมืออีกอย่างหนึ่งที่จะเพิ่มประสิทธิภาพชุดเครื่องมือการพัฒนาของคุณที่เราต้องการแสดงให้คุณเห็น

เร่งความเร็วการรวบรวม C และ C ++ ใน Linux

เมื่อคุณเป็นส่วนหนึ่งของกระบวนการพัฒนา ต้องคอมไพล์ใหม่หลายครั้งหลังจากทำการเปลี่ยนแปลงซอร์สโค้ด การมีแคชคอมไพเลอร์เพื่อเร่งการคอมไพล์ใหม่ในอนาคตจะเป็นเรื่องดี

ใน Linux มียูทิลิตีชื่อ ccache ซึ่งจะช่วยเร่งการคอมไพล์ใหม่โดยการแคชการคอมไพล์ก่อนหน้านี้ และตรวจจับเมื่อมีการคอมไพล์เดิมอีกครั้ง นอกจาก C และ C++ แล้ว ยังรองรับ Objective-C และ Objective-C++ อีกด้วย

แคช มีข้อจำกัดบางประการเท่านั้น ซึ่งจะมีประโยชน์เฉพาะในขณะที่คอมไพล์ไฟล์ใหม่เพียงไฟล์เดียวเท่านั้น สำหรับการคอมไพล์ประเภทอื่น กระบวนการจะสิ้นสุดด้วยการรันคอมไพลเลอร์จริง สิ่งเดียวกันนี้จะเกิดขึ้นหากไม่รองรับแฟล็กคอมไพเลอร์ ด้านดีก็คือว่าไม่ว่าในกรณีใดๆ มันจะไม่รบกวนการคอมไพล์จริง และจะไม่ทำให้เกิดข้อผิดพลาด เพียงแค่ถอยกลับไปที่คอมไพเลอร์จริง

มาติดตั้งเครื่องมือนี้กัน:

yum install ccache 

และดูว่ามันทำงานอย่างไรพร้อมตัวอย่าง

การทดสอบคอมไพเลอร์ GNU C ด้วยโปรแกรม C ++ อย่างง่าย

ตามตัวอย่าง ลองใช้โปรแกรม C++ ธรรมดาที่คำนวณพื้นที่ของสี่เหลี่ยมผืนผ้าหลังจากระบุความยาวและความกว้างเป็นอินพุตแล้ว

เปิดโปรแกรมแก้ไขข้อความที่คุณชื่นชอบและป้อนรหัสต่อไปนี้ จากนั้นบันทึกเป็น 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; 
} 

หากต้องการคอมไพล์โค้ดด้านบนลงในพื้นที่ที่มีชื่อเรียกทำงานได้ในไดเร็กทอรีการทำงานปัจจุบัน ให้ใช้สวิตช์ -o กับ g++:

g++ area.cpp -o area

หากคุณต้องการใช้ประโยชน์จาก ccache เพียงเติมคำสั่งด้านบนด้วย ccache ดังนี้:

ccache g++ area.cpp -o area 

จากนั้นรันไบนารี่:

./area
ผลลัพธ์ตัวอย่าง
Enter the length of the rectangle: 2.5
Now enter the width: 3.7
The area of the rectangle is: 9.25

อย่าปล่อยให้ตัวอย่างง่ายๆ นี้ทำให้คุณคิดว่า ccache ไม่มีประโยชน์ คุณจะรู้ว่า ccache เป็นเครื่องมือที่ยอดเยี่ยมเมื่อทำการคอมไพล์ไฟล์ซอร์สโค้ดขนาดใหญ่อีกครั้ง หลักการเดียวกันนี้ใช้กับโปรแกรม C เช่นกัน

สรุป

ในบทความนี้ เราได้อธิบายวิธีการติดตั้งและใช้ คอมไพเลอร์ GNU สำหรับ C และ C++ ในการแจกจ่ายแบบ Fedora

นอกจากนี้ เรายังแสดงวิธีใช้แคชของคอมไพเลอร์เพื่อเพิ่มความเร็วในการคอมไพล์โค้ดเดิมซ้ำอีกด้วย แม้ว่าคุณจะสามารถอ้างอิงถึงหน้าคู่มือออนไลน์สำหรับ gcc และ g++ เพื่อดูตัวเลือกและตัวอย่างเพิ่มเติม เราหวังว่าจะได้รับการติดต่อจากคุณหากคุณมีคำถามหรือความคิดเห็นใดๆ