Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีใช้คอมไพเลอร์ G++ บน Linux

วิธีใช้คอมไพเลอร์ G++ บน Linux

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

G++ คืออะไร?

G++ อธิบายได้ดีที่สุดว่าเป็นคอมไพเลอร์ C++ ที่รันจากบรรทัดคำสั่ง ถูกเผยแพร่โดย Free Software Foundation และเป็นส่วนหนึ่งของ GCC (GNU Compiler Collection) มันเปลี่ยนโค้ดที่เขียนด้วยภาษาโปรแกรมระดับสูง (ในที่นี้คือ C++) ให้กลายเป็นไฟล์ executable โดยแปลงเป็นภาษาระดับต่ำที่คอมพิวเตอร์เข้าใจ

การติดตั้ง

การติดตั้ง Linux ส่วนใหญ่มาพร้อม G++ ตั้งแต่แรก แต่ถ้ายังไม่มี สามารถติดตั้งได้ดังนี้:

Ubuntu/Debian (apt):

sudo apt update && sudo apt install g++

Fedora/CentOS (yum):

sudo yum install g++

ดาวน์โหลดเป็นแพ็กเกจจาก pkgs.org โดยใช้ Curl:

sudo curl https://ftp.de.debian.org/debian/pool/main/g/gcc-defaults/g++_10.2.1-1_amd64.deb -O

ติดตั้งแพ็กเกจด้วย dpkg:

sudo dpkg -i g++.deb

ตรวจสอบว่าติดตั้งแล้วด้วยแฟล็ก --version:

g++ --version
วิธีใช้คอมไพเลอร์ G++ บน Linux

การใช้งานพื้นฐาน

ตอนนี้ G++ พร้อมใช้งาน เริ่มด้วยการดู manual ด้วยแฟล็ก --help:

g++ --help
วิธีใช้คอมไพเลอร์ G++ บน Linux

บางครั้งต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับคอมไพเลอร์และการตั้งค่า แสดง built-in spec strings ด้วยแฟล็ก --dumpspecs:

g++ --dumpspecs

คอมไพล์พื้นฐานด้วย G++ ใช้รูปแบบ:

g++ [file]

ตัวอย่างไฟล์ชื่อ main.cpp คอมไพล์ด้วย:

g++ main.cpp

ไฟล์ executable ที่คอมไพล์ได้จะชื่อ a.out โดยค่าเริ่มต้น

รันด้วย:

./a.out

หากต้องการระบุชื่อไฟล์ executable เอง ใช้แฟล็ก -o:

g++ -o [name] [file to compile]

ตัวอย่าง ตั้งชื่อ executable ว่า main:

g++ -o main main.cpp
วิธีใช้คอมไพเลอร์ G++ บน Linux

หากต้องการลิงก์ object files เข้าด้วยกัน:

g++ -o [compiled file] [obj1.o] [obj2.o]

ตัวอย่าง คอมไพล์ object-1.o และ object-2.o เป็น main:

g++ -o main object-1.o object-2.o

ระบุ root directory สำหรับ libraries และ headers ด้วยแฟล็ก --sysroot:

g++ -o [name] --sysroot [directory] main.ccp

การใช้ -Wall แสดงข้อคำเตือน

บางครั้งต้องการให้คอมไพเลอร์แสดงข้อคำเตือนทั้งหมด G++ มีฟังก์ชันนี้ในตัว:

g++ -o main main.cpp -Wall

การสร้าง Static Library

การสร้าง library เป็นส่วนสำคัญของการพัฒนาซอฟต์แวร์ ด้วยคำสั่ง ar สามารถคอมไพล์ library ได้ง่ายด้วย G++

เริ่มต้นด้วยการคอมไพล์ object file:

g++ -o obj.o main.cpp

ใช้ ar utility พร้อม rcs เพื่อสร้าง archive (.a) file:

ar rcs archive.a obj.o

สุดท้าย ใช้กับ G++:

g++ -o final example.cpp archive.a

คำถามที่พบบ่อย

1. สามารถใช้คอมไพล์ไฟล์ .c ได้ไหม?

ทางเทคนิคทำได้ แต่ utility gcc เหมาะสมกว่า เพราะ G++ ออกแบบมาเป็น C++ compiler โดยเฉพาะ นอกจากนี้ G++ จะจัดการไฟล์ .c ว่าเป็นไฟล์ C++ อยู่ดี หากต้องการใช้ G++ คอมไพล์ .c ใช้แฟล็ก -c:

g++ -c [example.c] -o example
วิธีใช้คอมไพเลอร์ G++ บน Linux

2. ทำไมไม่ใช้ GCC เป็น C++ compiler เลย?

ใช้ GCC เป็น C++ compiler ได้ แต่ G++ เป็นการปรับเปลี่ยนของ GCC ที่โฟกัสที่ C++ มากกว่า จึงมีฟังก์ชันและฟีเจอร์เพิ่มเติมสำหรับโปรแกรมเมอร์ C++

3. เวอร์ชันล่าสุดคืออะไร?

เวอร์ชันล่าสุดของ G++ คือ 11.2.0 ณ Q1 2022 เปิดตัวเดือนกรกฎาคม 2021