วิธีการติดตั้งและใช้งาน GCC บน Ubuntu: คู่มือครบวงจรสำหรับนักพัฒนา

目次

1. บทนำ

GCC คืออะไร?

GCC (GNU Compiler Collection) เป็นคอมไพเลอร์แบบโอเพนซอร์สที่สามารถคอมไพล์หลายภาษาโปรแกรมได้ รวมถึง C และ C++ โดยเป็นคอมไพเลอร์มาตรฐานที่ใช้กันอย่างแพร่หลายสำหรับหลายการแจกจ่ายของ Linux.

คุณลักษณะหลักของ GCC:

  • รองรับหลายภาษา เช่น C, C++, Fortran และ Java.
  • เป็นโอเพนซอร์สและสามารถใช้ได้ฟรีสำหรับทุกคน
  • ทำให้การคอมไพล์เร็วและมีความน่าเชื่อถือสูง.

ทำไมต้องใช้ GCC บน Ubuntu?

  1. จัดเตรียมเป็นแพ็กเกจมาตรฐาน GCC มีอยู่ในคลังแพ็กเกจอย่างเป็นทางการของ Ubuntu ทำให้ติดตั้งง่าย.
  2. เอกสารและการสนับสนุนจากชุมชนที่ครอบคลุม ด้วยฐานผู้ใช้ทั่วโลกจำนวนมาก มีแหล่งข้อมูลการแก้ปัญหาและการปรับแต่งมากมาย.
  3. ใช้ฟรี คุณสามารถสร้างสภาพแวดล้อมการพัฒนาที่ทรงพลังโดยไม่มีค่าใช้จ่าย.
  4. ปรับแต่งได้ง่าย สามารถจัดการหลายเวอร์ชันของ GCC ทำให้คุณกำหนดสภาพแวดล้อมที่เหมาะสมสำหรับแต่ละโครงการ.

สรุป

บทความนี้แนะนำพื้นฐานของ GCC และข้อดีของการใช้บน Ubuntu GCC เป็นคอมไพเลอร์หลายภาษาที่ทรงพลังและไม่มีค่าใช้จ่าย และการติดตั้งบน Ubuntu นั้นทำได้อย่างง่ายดายโดยเฉพาะ.

2. การเตรียมการ

การอัปเดตระบบและตรวจสอบการพึ่งพา

ขั้นแรก ให้ทำการอัปเดตข้อมูลแพ็กเกจของ Ubuntu ให้เป็นเวอร์ชันล่าสุด ซึ่งช่วยป้องกันข้อผิดพลาดระหว่างการติดตั้ง.

1. อัปเดตระบบของคุณ

sudo apt update
sudo apt upgrade
  • sudo apt update : อัปเดตรายการแพ็กเกจ.
  • sudo apt upgrade : อัปเกรดแพ็กเกจที่ติดตั้งแล้วเป็นเวอร์ชันล่าสุด.

หมายเหตุ:

  • กระบวนการอัปเดตอาจใช้เวลาหลายนาที.
  • หากมีการแจ้งให้รีบูตหลังจากนั้น ให้รีสตาร์ทระบบ.

การตรวจสอบเครื่องมือพัฒนา

เพื่อทำการติดตั้ง GCC จำเป็นต้องมีเครื่องมือและแพ็กเกจการพัฒนาพื้นฐาน รันคำสั่งต่อไปนี้เพื่อทำการติดตั้ง:

sudo apt install build-essential

คำสั่งนี้จะติดตั้ง GCC และเครื่องมือพัฒนาที่จำเป็น.

ตัวอย่างของแพ็กเกจที่ติดตั้ง:

  • gcc (คอมไพเลอร์ C)
  • g++ (คอมไพเลอร์ C++)
  • make (เครื่องมือสร้าง)

การตรวจสอบสถานะการติดตั้ง

ใช้คำสั่งต่อไปนี้เพื่อตรวจสอบการติดตั้งและตรวจสอบเวอร์ชัน:

gcc --version

ตัวอย่างผลลัพธ์:

gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.

หากผลลัพธ์นี้ปรากฏ แสดงว่า GCC ได้รับการติดตั้งอย่างถูกต้อง.

สรุปการเตรียมการ

คุณได้ทำการเตรียมการที่จำเป็นสำหรับการติดตั้ง GCC เสร็จเรียบร้อยแล้ว.

  • อัปเดตและอัปเกรดระบบ.
  • ติดตั้งแพ็กเกจที่จำเป็นเพื่อจัดเตรียมสภาพแวดล้อม.
  • ยืนยันว่า GCC ได้รับการติดตั้งและตรวจสอบเวอร์ชัน.

3. การติดตั้ง GCC

ขั้นตอนการติดตั้งพื้นฐาน

บน Ubuntu สามารถติดตั้ง GCC ได้อย่างง่ายดายจากคลังแพ็กเกจอย่างเป็นทางการ ทำตามขั้นตอนด้านล่าง:

  1. ติดตั้งแพ็กเกจ build-essential
    sudo apt install build-essential
    

คำสั่งนี้จะติดตั้ง GCC, G++ และเครื่องมือพัฒนาที่จำเป็นอื่น ๆ.

  1. ยืนยันความคืบหน้าการติดตั้ง หากมีการแจ้ง “Continue? (Y/n)” ให้พิมพ์ “Y” แล้วกด Enter.

การตรวจสอบการติดตั้ง

เมื่อการติดตั้งเสร็จสมบูรณ์ ให้ตรวจสอบเวอร์ชันของ GCC:

gcc --version

ตัวอย่างผลลัพธ์:

gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.

หากแสดงข้อมูลเวอร์ชัน แสดงว่า GCC ได้รับการติดตั้งสำเร็จ.

4. การใช้งานพื้นฐานของ GCC

การสร้างและคอมไพล์โปรแกรมง่าย ๆ

  1. สร้างโปรแกรมตัวอย่าง

เริ่มต้นด้วยการสร้างโปรแกรม “Hello, World!” อย่างง่าย.

nano hello.c

เมื่อเปิดโปรแกรมแก้ไข ให้พิมพ์โค้ดต่อไปนี้:

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

หลังจากพิมพ์โค้ดแล้ว กด Ctrl + X เพื่อบันทึก แล้วกด Y เพื่อยืนยัน.

การคอมไพล์โปรแกรม

ต่อไป ให้คอมไพล์โปรแกรมโดยใช้ GCC.

gcc hello.c -o hello

คำอธิบายคำสั่ง:

  • gcc : คำสั่งคอมไพเลอร์.
  • hello.c : ไฟล์ซอร์สที่ต้องคอมไพล์.
  • -o hello : ระบุชื่อไฟล์เอ็กเซคิวเทเบิลผลลัพธ์.

การรันโปรแกรมที่คอมไพล์แล้ว

เรียกใช้โปรแกรมที่คอมไพล์แล้วด้วยคำสั่งต่อไปนี้:

./hello

ผลลัพธ์ตัวอย่าง:

Hello, World!

หากคุณเห็นผลลัพธ์นี้ โปรแกรมของคุณได้ถูกคอมไพล์และรันอย่างถูกต้อง.

การจัดการข้อผิดพลาด

  1. ข้อผิดพลาดที่เกิดจากความผิดพลาดของโค้ด

ข้อความแสดงข้อผิดพลาดตัวอย่าง:

hello.c: In function ‘main’:
hello.c:3:5: error: expected ‘;’ before ‘return’
    return 0;

วิธีแก้ไข:
ข้อความแสดงข้อผิดพลาดจะแสดงหมายเลขบรรทัดที่เกิดปัญหา ตรวจสอบและแก้ไขโค้ด.

  1. ไม่พบคอมไพเลอร์

ข้อความแสดงข้อผิดพลาดตัวอย่าง:

gcc: command not found

วิธีแก้ไข:
อาจยังไม่ได้ติดตั้ง GCC. ติดตั้งใหม่โดยใช้คำสั่งต่อไปนี้:

sudo apt install build-essential
  1. ข้อผิดพลาดขณะรัน

ข้อความแสดงข้อผิดพลาดตัวอย่าง:

bash: ./hello: Permission denied

วิธีแก้ไข:
ให้สิทธิ์การทำงานกับไฟล์:

chmod +x hello
./hello

ตัวเลือกการเพิ่มประสิทธิภาพ

GCC อนุญาตให้คุณเพิ่มประสิทธิภาพโค้ดเพื่อประสิทธิภาพที่ดียิ่งขึ้น.

ตัวอย่าง: ระบุระดับการเพิ่มประสิทธิภาพ

gcc -O2 hello.c -o hello
  • -O1 : การเพิ่มประสิทธิภาพพื้นฐาน.
  • -O2 : การเพิ่มประสิทธิภาพขั้นสูงขึ้น.
  • -O3 : การเพิ่มประสิทธิภาพสูงสุดเพื่อประสิทธิภาพ.

ตัวเลือกเหล่านี้ช่วยปรับปรุงความเร็วการทำงานและลดขนาดของโค้ด.

สรุป

ส่วนนี้อธิบายวิธีการเขียน, คอมไพล์, และรันโปรแกรมพื้นฐานโดยใช้ GCC.

ประเด็นสำคัญที่ควรจำ:

  • เรียนรู้วิธีสร้างและคอมไพล์โปรแกรมตัวอย่าง.
  • ทบทวนวิธีการจัดการข้อผิดพลาดทั่วไป.
  • เรียนรู้วิธีใช้ตัวเลือกการเพิ่มประสิทธิภาพเพื่อยกระดับประสิทธิภาพของโปรแกรม.

5. การจัดการหลายเวอร์ชัน

การติดตั้งหลายเวอร์ชัน

Ubuntu อนุญาตให้คุณติดตั้งหลายเวอร์ชันของ GCC พร้อมกัน. ทำตามขั้นตอนด้านล่างเพื่อกำหนดค่า.

  1. ตรวจสอบเวอร์ชันที่มีอยู่
    sudo apt search gcc-
    

คำสั่งนี้จะแสดงรายการเวอร์ชัน GCC ที่มีในรีโพสิตอรี.

ผลลัพธ์ตัวอย่าง:

gcc-9 - GNU C compiler
gcc-10 - GNU C compiler
gcc-11 - GNU C compiler
  1. ติดตั้งเวอร์ชันที่ต้องการ

เช่น ติดตั้ง GCC 9 และ GCC 10:

sudo apt install gcc-9 gcc-10

หลังการติดตั้ง ให้ดำเนินการกำหนดค่าการสลับเวอร์ชันต่อไป.

การสลับระหว่างเวอร์ชัน

ใช้คำสั่ง update-alternatives เพื่อสลับเวอร์ชัน GCC ได้อย่างง่ายดาย.

  1. ลงทะเบียนเวอร์ชัน GCC ที่ติดตั้งแล้ว

รันคำสั่งด้านล่างเพื่อลงทะเบียนเวอร์ชัน GCC กับ update-alternatives:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100

การกำหนดค่านี้ทำให้ GCC 10 มีลำดับความสำคัญสูงกว่า.

  1. เลือกเวอร์ชันที่ต้องการใช้
    sudo update-alternatives --config gcc
    

ผลลัพธ์ตัวอย่าง:

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-10  100       auto mode
  1            /usr/bin/gcc-9   90        manual mode
  2            /usr/bin/gcc-10  100       manual mode

Press <enter> to keep the current choice[*], or type selection number:

ใส่หมายเลขของเวอร์ชันที่ต้องการ.

การใช้เวอร์ชันเฉพาะสำหรับแต่ละโครงการ

หากคุณต้องการใช้เวอร์ชัน GCC ที่แตกต่างกันสำหรับโครงการเฉพาะ ให้ปรับลิงก์สัญลักษณ์ตามต้องการ.

  1. สร้างลิงก์สัญลักษณ์
    sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
    
  1. ตรวจสอบเวอร์ชัน
    gcc --version
    

ยืนยันว่าเวอร์ชันที่เลือกกำลังทำงานอยู่.

สรุป

ส่วนนี้ครอบคลุมวิธีการติดตั้งหลายเวอร์ชันของ GCC และสลับระหว่างเวอร์ชันโดยใช้ update-alternatives.

ประเด็นสำคัญที่ควรจำ:

  • ติดตั้งเวอร์ชันที่ต้องการและจัดการด้วย update-alternatives .
  • กำหนดลิงก์สัญลักษณ์เพื่อใช้เวอร์ชันเฉพาะสำหรับแต่ละโครงการ.

6. การแก้ไขปัญหา

ข้อผิดพลาดในการติดตั้งและวิธีแก้

ตัวอย่างข้อผิดพลาด 1: ไม่พบแพ็กเกจ

E: Unable to locate package build-essential

สาเหตุ:
รายการแพ็กเกจล้าสมัย หรือการตั้งค่ารีโพสิตอรีไม่ถูกต้อง.

วิธีแก้:
อัปเดตข้อมูลรีโพสิตอรีโดยใช้คำสั่งต่อไปนี้:

sudo apt update
sudo apt upgrade
sudo apt install build-essential

วิธีแก้เพิ่มเติม:

sudo add-apt-repository universe
sudo apt update

นี่อาจทำให้พบแพ็กเกจได้.

ตัวอย่างข้อผิดพลาด 2: ข้อผิดพลาดการอนุญาต

Permission denied

สาเหตุ:
คำสั่งไม่ได้รันด้วยสิทธิ์ผู้ดูแลระบบ.

วิธีแก้:
รันคำสั่งติดตั้งด้วย sudo:

sudo apt install build-essential

ข้อผิดพลาดระหว่างการคอมไพล์และวิธีแก้

ตัวอย่างข้อผิดพลาด 1: ไม่พบคอมไพเลอร์

gcc: command not found

สาเหตุ:
GCC ไม่ได้ติดตั้ง หรือ PATH ไม่ได้ตั้งค่าอย่างถูกต้อง.

วิธีแก้:
ตรวจสอบว่า GCC ถูกติดตั้งหรือไม่:

sudo apt install gcc

หากติดตั้งแล้ว ให้ซ่อมแซมลิงก์สัญลักษณ์:

sudo ln -s /usr/bin/gcc-10 /usr/bin/gcc

ตัวอย่างข้อผิดพลาด 2: ข้อผิดพลาดการลิงก์ไลบรารี

undefined reference to 'main'

สาเหตุ:
ฟังก์ชัน main หายไป หรือมีข้อผิดพลาดการลิงก์.

วิธีแก้:
ตรวจสอบว่าโค้ดของคุณมีฟังก์ชัน main อยู่ แล้วคอมไพล์ใหม่ด้วยตัวเลือกที่ถูกต้อง:

gcc -o output main.c -lm

ข้อผิดพลาดขณะรันไทม์และวิธีแก้

ตัวอย่างข้อผิดพลาด 1: ไม่มีสิทธิ์การทำงาน

bash: ./program: Permission denied

สาเหตุ:
ไฟล์ปฏิบัติการไม่มีสิทธิ์ให้รัน.

วิธีแก้:
เพิ่มสิทธิ์การทำงาน:

chmod +x program
./program

ตัวอย่างข้อผิดพลาด 2: ไลบรารีหายไป

error while loading shared libraries: libXXX.so: cannot open shared object file: No such file or directory

สาเหตุ:
ไลบรารีแชร์ที่ต้องการไม่ได้ติดตั้ง.

วิธีแก้:
ระบุไลบรารีที่หายไปและติดตั้งมัน:

sudo apt install libXXX-dev

ข้อผิดพลาดการจัดการเวอร์ชันและวิธีแก้

ตัวอย่างข้อผิดพลาด: การสลับเวอร์ชันไม่ทำงาน

gcc --version

หากผลลัพธ์ไม่แสดงเวอร์ชันที่สลับไว้ ให้ตรวจสอบการตั้งค่า update-alternatives อีกครั้ง.

วิธีแก้:

  1. ตรวจสอบการกำหนดค่าที่มีอยู่.
    sudo update-alternatives --config gcc
    
  1. เลือกเวอร์ชันที่ถูกต้อง.
  2. อัปเดตลิงก์สัญลักษณ์.
    sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
    

สรุป

ส่วนนี้อธิบายข้อผิดพลาดทั่วไประหว่างการติดตั้งและการใช้ GCC พร้อมวิธีแก้ที่เฉพาะเจาะจง.

ประเด็นสำคัญ:

  • ข้อผิดพลาดการติดตั้งสามารถแก้ได้โดยอัปเดตรีโพสิตอรีและแก้ไขการตั้งค่า.
  • ปัญหาขณะคอมไพล์มักต้องตรวจสอบโค้ดหรือตัวเลือกการลิงก์.
  • ข้อผิดพลาดขณะรันไทม์มักเกิดจากการขาดสิทธิ์หรือไลบรารี.
  • ปัญหาการจัดการเวอร์ชันสามารถปรับได้โดยใช้ลิงก์สัญลักษณ์และ update-alternatives .

7. ส่วนคำถามที่พบบ่อย

ฉันจะติดตั้ง GCC เวอร์ชันล่าสุดได้อย่างไร?

คำถาม:
ฉันต้องการติดตั้ง GCC เวอร์ชันล่าสุด แต่รีโพสิตอรีของ Ubuntu มีเพียงเวอร์ชันเก่า ฉันทำอย่างไรได้บ้าง?

คำตอบ:
เพิ่มรีโพสิตอรี PPA แล้วติดตั้งเวอร์ชันล่าสุด.

  1. เพิ่ม PPA:
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    
  1. อัปเดตแพ็กเกจ:
    sudo apt update
    
  1. ติดตั้ง GCC เวอร์ชันล่าสุด:
    sudo apt install gcc-12
    
  1. ตรวจสอบเวอร์ชัน:
    gcc --version
    

ฉันจะถอนการติดตั้ง GCC อย่างไร?

คำตอบ:
รันคำสั่งต่อไปนี้:

sudo apt remove gcc
sudo apt autoremove

เพื่อลบเครื่องมือพัฒนาที่เกี่ยวข้อง:

sudo apt remove build-essential

ถ้าใน update-alternatives มีแสดงเฉพาะเวอร์ชันเก่าเท่านั้นจะทำอย่างไร?

คำตอบ:
เพิ่มเวอร์ชันที่ต้องการด้วยตนเอง:

sudo apt install gcc-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120
sudo update-alternatives --config gcc

ฉันจะแก้ไขข้อผิดพลาดการพึ่งพาได้อย่างไร?

คำตอบ:
ลองอัปเดตระบบ:

sudo apt update
sudo apt upgrade

หากยังไม่แก้ไข:

sudo apt --fix-broken install

ฉันจะใช้เวอร์ชัน GCC ที่แตกต่างกันสำหรับโครงการเฉพาะได้อย่างไร?

คำตอบ:

  1. สร้างลิงก์สัญลักษณ์ในเครื่อง:
    ln -s /usr/bin/gcc-9 ./gcc
    
  1. ใช้มันระหว่างการคอมไพล์:
    ./gcc -o program program.c
    

ฉันควรทำอย่างไรถ้าฉันได้รับ “command not found”?

คำตอบ:
ตรวจสอบว่า GCC ได้รับการติดตั้งหรือไม่:

dpkg -l | grep gcc

หากไม่ได้ติดตั้ง ให้ติดตั้งใหม่:

sudo apt install gcc

หากลิงก์สัญลักษณ์เสียหาย ให้ซ่อมแซม:

sudo ln -sf /usr/bin/gcc-10 /usr/bin/gcc

สรุป

ส่วนนี้ครอบคลุมคำถามทั่วไปและโซลูชันปฏิบัติที่เกี่ยวข้องกับการใช้งาน GCC.

ประเด็นสำคัญ:

  • เวอร์ชันล่าสุดสามารถติดตั้งผ่านคลัง PPA.
  • การถอนการติดตั้งและการจัดการเวอร์ชันดำเนินการผ่าน update-alternatives .
  • ตัวอย่างปฏิบัติถูกให้มาเพื่อแก้ไขข้อผิดพลาดทั่วไป.

8. สรุปและขั้นตอนถัดไป

ทบทวนประเด็นสำคัญ

  1. ภาพรวมและวัตถุประสงค์ของ GCC
  • GCC รองรับภาษาการเขียนโปรแกรมหลายภาษา เช่น C และ C++.
  • Ubuntu ให้การเข้าถึง GCC อย่างง่ายดายผ่านคลังอย่างเป็นทางการ.
  1. ขั้นตอนการติดตั้งและการเตรียมพร้อม
  • อัปเดตระบบและติดตั้งแพ็กเกจ build-essential.
  • ทบทวนการตรวจสอบเวอร์ชันและการแก้ไขปัญหาการพึ่งพา.
  1. การใช้งานพื้นฐาน
  • เรียนรู้วิธีสร้าง คอมไพล์ และรันโค้ดตัวอย่าง.
  • สำรวจเทคนิคการเพิ่มประสิทธิภาพและการจัดการข้อผิดพลาด.
  1. การจัดการเวอร์ชันหลายเวอร์ชัน
  • ใช้ update-alternatives เพื่อสลับเวอร์ชัน GCC ขึ้นอยู่กับโครงการ.
  1. การแก้ไขปัญหาและคำถามที่พบบ่อย
  • อภิปรายข้อผิดพลาดทั่วไปและโซลูชันทีละขั้นตอน.

ทรัพยากรเพิ่มเติม

  1. เอกสารอย่างเป็นทางการของ Ubuntu
  1. เอกสารอย่างเป็นทางการของ GCC
  • คู่มือ GCC ให้คำแนะนำการใช้งานขั้นสูงและตัวเลือกการกำหนดค่า.
  1. ทรัพยากรการแก้ไขปัญหา Linux
  • Linux Console มีข้อมูลการแก้ไขปัญหา Linux หลากหลาย.
  1. แพลตฟอร์มการเรียนรู้และฟอรัม
  • Qiita และ Stack Overflow ให้ตัวอย่างที่มีประโยชน์และการสนับสนุนจากชุมชน.

ขั้นตอนถัดไป

  1. นำ GCC ไปใช้ในการพัฒนาจริง
  • ใช้ GCC เพื่อสร้างโปรแกรมขั้นสูงมากขึ้นในโครงการของคุณ.
  1. ขยายฟังก์ชันการทำงานโดยใช้ไลบรารี
  • รวมไลบรารีเพิ่มเติมเพื่อเพิ่มความสามารถของโครงการ.
  1. เรียนรู้เครื่องมือและภาษาใหม่
  • ฝึกฝนเครื่องมือและภาษาการพัฒนาที่เกี่ยวข้องเพื่อขยายชุดทักษะของคุณ.
  1. เข้าร่วมชุมชนโอเพนซอร์ส
  • เข้าร่วมฟอรัมหรือโครงการโอเพนซอร์สเพื่อรับประสบการณ์ปฏิบัติและแบ่งปันความรู้.

ความคิดสุดท้าย

บทความนี้นำคุณผ่านทุกขั้นตอนของการติดตั้งและใช้งาน GCC บน Ubuntu โดยการทำตามวิธีการและแนวปฏิบัติการแก้ไขปัญหาที่นำเสนอที่นี่ ใครๆ ก็สามารถสร้างสภาพแวดล้อมการพัฒนาที่เชื่อถือได้.

หมายเหตุสุดท้าย:
ใช้ GCC เพื่อนำไอเดียซอฟต์แวร์ของคุณมาสู่ชีวิต หากคุณพบปัญหา ให้กลับไปที่ FAQ หรือทรัพยากรที่อ้างอิงเพื่อแก้ไขอย่างมีประสิทธิภาพ.

บทความถัดไปจะสำรวจไวยากรณ์หลักและเทคนิคการพัฒนาขั้นสูงใน C และ C++ ติดตามการอัปเดต!