กระบวนการคอมไพล์เป็นส่วนสำคัญของโปรเจ็กต์การเข้ารหัส C++ คุณต้องมีคอมไพเลอร์ที่มีประสิทธิภาพและเรียบง่าย ในขณะที่ยังมีฟังก์ชันการทำงานที่หลากหลายอีกด้วย นี่คือที่มาของคอมไพเลอร์ g++ โดยมีฟังก์ชันหลากหลายสำหรับความต้องการในการรวบรวมของคุณ โดยตรงจากบรรทัดคำสั่ง เราจะแสดงวิธีเริ่มต้นใช้งานเครื่องมือที่ยอดเยี่ยมนี้
g++ คืออะไร
G++ อธิบายได้ดีที่สุดว่าเป็นคอมไพเลอร์ C++ ที่ทำงานจากบรรทัดคำสั่งของคุณ เผยแพร่โดย Free Software Foundation และเป็นส่วนหนึ่งของ GCC (GNU Compiler Collection) โดยจะเปลี่ยนโค้ดของคุณที่เขียนด้วยภาษาการเขียนโปรแกรมระดับสูง (ในกรณีนี้คือ C++) ให้เป็นไฟล์สั่งการโดยแปลงให้เป็นภาษาระดับล่างที่คอมพิวเตอร์เข้าใจ
การติดตั้ง
การติดตั้ง Linux ส่วนใหญ่มาพร้อมกับ g++ ติดตั้งทันทีที่แกะกล่อง อย่างไรก็ตาม หาก distro ที่คุณเลือกไม่ได้ ให้ทำตามที่นี่และเรียนรู้วิธีติดตั้งบน Linux รุ่นทั่วไปบางรุ่น
บน 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
ในการตรวจสอบว่ามีการติดตั้ง g++ หรือไม่ ให้ใช้ --version
ธง:
g++ --version
การใช้งานพื้นฐาน
เมื่อติดตั้ง g++ แล้ว คุณสามารถเริ่มใช้งานได้ตามความต้องการในการคอมไพล์ของคุณ
ประการแรก การดูคู่มือโดยใช้ --help
. จะเป็นประโยชน์ ธง:
g++ --help
บางครั้งการดูข้อมูลเพิ่มเติมเกี่ยวกับคอมไพเลอร์และการตั้งค่าก็มีประโยชน์ คุณสามารถแสดงสตริงข้อมูลจำเพาะในตัวของคอมไพเลอร์ได้โดยใช้ --dumpspecs
ธง:
g++ --dumpspecs
ซึ่งจะให้ภาพรวมเบื้องต้นเกี่ยวกับความสามารถและตัวเลือกต่างๆ
ในการคอมไพล์พื้นฐานโดยใช้ g++ ให้ใช้รูปแบบต่อไปนี้:
g++ [file]
ตัวอย่างเช่น หากเรามีไฟล์ชื่อ “main.cpp” เราสามารถคอมไพล์ได้โดยพิมพ์ข้อความต่อไปนี้:
g++ main.cpp
ไฟล์ปฏิบัติการที่คอมไพล์แล้วมีชื่อว่า “a.out” โดยค่าเริ่มต้น
เรียกใช้โดยพิมพ์ข้อความต่อไปนี้:
./a.out
หากคุณต้องการระบุชื่อไฟล์ปฏิบัติการที่คอมไพล์แล้ว ให้ทำโดยใช้ -o
ธง:
g++ -o [name] [file to compile]
สมมติว่าคุณต้องการระบุชื่อไฟล์ปฏิบัติการเป็น “main” คุณจะต้องพิมพ์ดังต่อไปนี้:
g++ -o main main.cpp
หากคุณต้องการเชื่อมโยงไฟล์อ็อบเจ็กต์เข้าด้วยกัน ให้ทำโดยใช้รูปแบบต่อไปนี้:
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 ที่สามารถพบไลบรารีและส่วนหัว ให้ใช้ --sysroot
ธง:
g++ -o [name] --sysroot [directory] main.ccp
การใช้ “-Wall” เพื่อแสดงข้อความเตือน
บางครั้งคอมไพเลอร์ของคุณจะแสดงข้อความเตือนทั้งหมดเมื่อทำการคอมไพล์โค้ดในบางครั้ง โชคดีที่ g++ มีฟังก์ชันนี้อยู่ในตัวและพร้อมใช้งาน
หากต้องการแสดงข้อความเตือนทั้งหมด ให้ใช้ -Wall
ธง (โปรดสังเกตตัวพิมพ์ใหญ่ “W”):
g++ -o main main.cpp -Wall
การสร้าง Static Library
การสร้างไลบรารี่เป็นส่วนสำคัญของการพัฒนาซอฟต์แวร์พอๆ กับการเลือกตัวแก้ไขโค้ดที่ถูกต้อง พร้อมทริคเล็กๆ น้อยๆ เช่น ar
คำสั่ง คุณสามารถคอมไพล์ไลบรารี่ได้ง่ายๆ โดยใช้ g++
เริ่มต้นด้วยการรวบรวมไฟล์อ็อบเจ็กต์:
g++ -o obj.o main.cpp
ต่อไป ใช้ ar
ยูทิลิตีด้วย “rcs” เพื่อสร้างไฟล์เก็บถาวร (“.a”):
ar rcs archive.a obj.o
สุดท้าย ใช้กับ g++:
g++ -o final example.cpp archive.a
คำถามที่พบบ่อย
1. ฉันใช้เครื่องมือนี้เพื่อคอมไพล์ไฟล์ .c ได้ไหม
ในทางเทคนิค คุณทำได้ อย่างไรก็ตาม gcc
ยูทิลิตี้นี้เหมาะสมกว่าสำหรับสิ่งนี้เนื่องจาก g++ มีไว้เพื่อเป็นคอมไพเลอร์ C ++ เป็นหลัก นอกจากนี้ g++ จะถือว่าไฟล์ .c เป็นไฟล์ C++ อยู่ดี
หากคุณต้องการใช้ g++ เพื่อคอมไพล์ไฟล์ .c เพียงใช้ -c
ธง:
g++ -c [example.c] -o example
2. ทำไมฉันไม่ควรใช้ GCC เป็นคอมไพเลอร์ C++
คุณสามารถใช้ gcc
. ได้เป็นอย่างดี เป็นคอมไพเลอร์ C++ อย่างไรก็ตาม จริง ๆ แล้ว g++ เป็นการปรับตัวของ gcc
ที่เน้น C++ มากกว่า ดังนั้นจึงมีฟังก์ชันและคุณลักษณะเพิ่มเติมสำหรับโปรแกรมเมอร์ที่ทำงานด้วยโค้ด C++
3. เวอร์ชันล่าสุดคืออะไร
g++ เวอร์ชันล่าสุดน่าจะเป็น 11.2.0 ณ ไตรมาสที่ 1 ปี 2022 และเผยแพร่ในเดือนกรกฎาคม 2021