Panduan Komprehensif untuk Memasang dan Menggunakan GCC pada Ubuntu

1. Pengenalan

Apa itu GCC?

GCC (GNU Compiler Collection) ialah kompilator sumber terbuka yang mampu menyusun pelbagai bahasa pengaturcaraan seperti C dan C++. Ia banyak digunakan sebagai kompilator lalai dalam banyak distribusi Linux.

Ciri-ciri Utama GCC:

  • Menyokong pelbagai bahasa, termasuk C, C++, Fortran, Java, dan lain-lain.
  • Sumber terbuka dan boleh digunakan secara percuma oleh sesiapa sahaja.
  • Membolehkan penyusunan yang pantas dan boleh dipercayai.

Mengapa Menggunakan GCC di Ubuntu?

  1. Termasuk sebagai pakej standard Repositori Ubuntu menyertakan GCC secara lalai, memudahkan pemasangan.
  2. Sokongan dan dokumentasi melimpah Oleh kerana terdapat ramai pengguna di seluruh dunia, terdapat banyak maklumat untuk penyelesaian masalah dan penyesuaian.
  3. Percuma untuk digunakan Anda boleh membina persekitaran pembangunan yang kuat dengan kos rendah.
  4. Mudah disesuaikan Anda boleh mengurus pelbagai versi GCC, membolehkan anda membina persekitaran yang sesuai untuk setiap projek.

Ringkasan

Dalam artikel ini, kami memperkenalkan gambaran keseluruhan GCC dan manfaat menggunakannya di Ubuntu. GCC ialah kompilator yangokong pelbagai bahasa dan percuma untuk digunakan, dan sangat mudah dipasang.

2. Prasyarat

Kemas kini sistem dan semak kebergantungan

Pertama, kemas kini maklumat pakej Ubuntu ke keadaan terkini. Ini membantu mengelakkan ralat semasa pemasangan.

1. Kemas kini sistem ke keadaan terkini

sudo apt update
sudo apt upgrade
  • sudo apt update : Mengemas kini senarai pakej ke versi terkini.
  • sudo apt upgrade : Menaik taraf pakej terpasang ke versi terbaru mereka.

Nota:

  • Kemas kini mungkin mengambil beberapa minit.
  • Jika selepas kemas kini muncul mesej “restart required”, mul sistem.

Semak alat pembangunan

Untuk memasang GCC, alat dan pakej pembangunan asas diperlukan. Jalankan perintah berikut untuk memasang pakej yang diperlukan terlebih dahulu.

sudo apt install build-essential

Perintah ini memasang alat pembangunan penting, termasuk GCC.

Contoh pakej yang dipasang:

  • gcc (kompilator C)
  • g++ (kompilator C++)
  • make (alat bina)

Semak status pemasangan

Untuk mengesahkan pakej mana yang dipasang dan menyemak versinya, gunakan perintah berikut:

gcc --version

Output contoh:

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

Jika anda melihat output ini, anda boleh mengesahkan GCC telah dipasang dengan betul.

Ringkasan prasyarat

Sehingga kini, anda telah menyelesaikan prasyarat yang diperlukan untuk memasang GCC.

  • Sistem telah dikemas kini dan dinaik taraf ke keadaan terkini.
  • Pakej yang diperlukan telah dipasang untuk menyediakan persekitaran.
  • Status pemasangan GCC dan versi telah disahkan.

3. Cara Memasang GCC

Langkah pemasangan asas

Di Ubuntu, GCC boleh dipasang dengan mudah dari repositori rasmi. Ikuti langkah di bawah untuk melaksanakan pemasangan.

  1. Pasang pakej build-essential
    sudo apt install build-essential
    

Perintah ini memasang GCC, G++, dan set lengkap alat pembangunan.

  1. Sahkan kemajuan pemasangan Semasa pemasangan, jika “Proceed? (Y/n)” dipaparkan, taip “Y” dan tekan Enter.

Cara mengesahkan selepas pemasangan

Selepas pemasangan selesai, sahkan versi GCC untuk mengesahkan semuanya dipasang dengan betul:

gcc --version

:**

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

Jika maklumat versi dipaparkan seperti di atas, GCC telah dipasang dengan berjaya.

Memasang alat atau perpustakaan tambahan

Kadang-kadang memasang GCC sahaja tidak mencukupi, jadi anda mungkin ingin memasang pakej tambahan berikut:

  1. Pasang G++ (kompilator C
    sudo apt install g++
    
  1. Pasang alat penyahpepijatan
    sudo apt install gdb
    
  1. Pasang halaman manual pembangunan
    sudo apt install manpages-dev
    

Ini memastikan anda boleh merujuk bantuan dan halaman manual berkaitan GCC dengan segera apabila diperlukan.

Penyelesaian Masalah Pemasangan yang Gagal

  1. Pakej Tidak Ditemui
    E: Unable to locate package build-essential
    

Penyelesaian: Kemas kini maklumat repositori:

sudo apt update
sudo apt upgrade
  1. Ralat Kebenaran Berlaku
    Permission denied
    

Penyelesaian: Gunakan sudo di awal arahan untuk menjalankannya dengan keistimewaan pentadbir.

Ringkasan Langkah Pemasangan

Dalam bahagian ini, kami menerangkan cara memasang GCC dan mengesahkan pemasangan, serta cara memasang pakej tambahan.

Poin Utama:

  • Gunakan sudo apt install build-essential untuk memasang dengan cepat.
  • Semak versi untuk mengesahkan status pemasangan.
  • Tambah G++, gdb, dan alat lain mengikut keperluan.

4. Penggunaan Asas GCC

Cipta dan Kompil Program Ringkas

  1. Cipta Program Sampel

Pertama, cipta program “Hello, World!” yang ringkas:

nano hello.c

Apabila editor dibuka, masukkan kod berikut:

#include <stdio.h>

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

Selepas memasukkan, tekan Ctrl + X untuk menyimpan, kemudian tekan Y untuk mengesahkan dan keluar.

Kompil Program

Seterusnya, kompil program ini menggunakan GCC:

gcc hello.c -o hello

Penjelasan Arahan:

  • gcc : Arahan pengkompil.
  • hello.c : Fail kod sumber untuk dikompil.
  • -o hello : Menentukan nama fail keluaran sebagai “hello.”

Jalankan Program yang Dikompil

Jalankan program yang dikompil menggunakan arahan berikut:

./hello

Keluaran Jangkaan:

Hello, World!

Jika ini dipaparkan, program telah berjaya dikompil dan dijalankan.

Mengendalikan Ralat

  1. Ralat Akibat Kesilapan Pengkodan

Contoh Mesej Ralat:

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

Penyelesaian:
Mesej ralat menunjukkan lokasi (contohnya baris 3). Semak kod anda dan betulkan ralat sintaks.

  1. Ralat Kompilasi

Contoh Ralat:

gcc: command not found

Penyelesaian:
GCC mungkin tidak dipasang. Pasang semula menggunakan:

sudo apt install build-essential
  1. Ralat Masa Jalan

Contoh Ralat:

bash: ./hello: Permission denied

Penyelesaian:
Jika fail kekurangan kebenaran pelaksanaan, gunakan:

chmod +x hello
./hello

Pilihan Pengoptimuman

GCC membolehkan anda menggunakan pilihan pengoptimuman untuk meningkatkan prestasi program.

Contoh: Tentukan Tahap Pengoptimuman

gcc -O2 hello.c -o hello
  • -O1 : Pengoptimuman asas.
  • -O2 : Pengoptimuman lebih lanjutan.
  • -O3 : Pengoptimuman maksimum (mengutamakan kelajuan pelaksanaan).

Ini membantu anda mengoptimumkan kelajuan pelaksanaan atau saiz kod dengan lebih cekap.

Ringkasan

Dalam bahagian ini, kami membincangkan cara mencipta, mengkompil, dan menjalankan program asas menggunakan GCC.

Poin Utama:

  • Anda belajar cara mencipta kod sampel dan mengkompilnya.
  • Kami mengkaji cara mengendalikan ralat apabila ia berlaku.
  • Kami memperkenalkan pilihan pengoptimuman untuk meningkatkan prestasi.

5. Menguruskan Pelbagai Versi

Memasang Pelbagai Versi

Pada Ubuntu, anda boleh memasang versi GCC yang berbeza secara serentak. Mari pasang pelbagai versi menggunakan langkah-langkah di bawah.

  1. Semak Versi yang Tersedia
    sudo apt search gcc-
    

Arahan ini membolehkan anda melihat senarai versi GCC dalam repositori.

Contoh Keluaran:

gcc-9 - GNU C compiler
gcc-10 - GNU C compiler
gcc-11 - GNU C compiler
  1. Pasang Versi yang Diperlukan

Sebagai contoh, pasang GCC 9 dan GCC 10:

sudo apt install gcc-9 gcc-10

Selepas pemasangan selesai, teruskan dengan menyediakan penukaran versi.

Cara Menukar Versi

Ubuntu menyokong arahan update-alternatives untuk menukar versi GCC dengan mudah.

  1. Daftarkan Versi GCC yang Dipasang dengan update-alternatives

Jalankan:

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

Dalam penyetelan ini, GCC 10 didaftarkan sebagai lalai pilihan (keutamaan 100).

  1. Pilih versi yang hendak digunakan

Gunakan perintah berikut untuk memilih versi yang dikehendaki secara manual:

sudo update-alternatives --config gcc

Output contoh:

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:

Masukkan nombor yang dikehendaki dan tekan Enter.

Menggunakan versi khusus bagi setiap projek

Jika anda ingin menggunakan versi tertentu untuk setiap projek, anda boleh menukar pautan simbolik mengikut keperluan.

  1. Cipta atau kemas kini pautan
    sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
    

Perintah ini menetapkan GCC 9 sebagai versi lalai.

  1. Sahkan versi
    gcc --version
    

Sahkan bahawa versi yang anda konfigurasikan telah diterapkan dengan betul.

Ringkasan

Dalam bahagian ini, kami menjelaskan cara memasang pelbagai versi GCC dan menggunakan update-alternatives untuk menukar dengan mudah.

Poin penting:

  • Pasang versi yang anda perlukan dan uruskan dengan update-alternatives .
  • Anda juga boleh menyediakan pautan simbolik untuk menggunakan versi khusus bagi setiap projek.

6. Penyelesaian Masalah

Ralat semasa pemasangan dan cara menanganinya

Contoh ralat 1: Pakej tidak ditemui

E: Unable to locate package build-essential

Punca:
Senarai pakej tidak terkini, atau konfigurasi repositori mempunyai masalah.

Penyelesaian:
Jalankan perintah berikut untuk mengemas kini maklumat repositori:

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

Remedi tambahan:

sudo add-apt-repository universe
sudo apt update

Ini mungkin membolehkan pakej ditemui.

Contoh ralat 2: Kebenaran ditolak

Permission denied

Punca:
Perintah tidak dijalankan dengan keistimewaan pentadbiran.

Penyelesaian:
Tambah sudo di hadapan semua perintah pemasangan.

sudo apt install build-essential

Ralat semasa kompilasi dan cara menanganinya

Contoh ralat 1: Pengkompil tidak ditemui

gcc: command not found

Punca:
GCC tidak dipasang atau PATH tidak ditetapkan dengan betul.

Penyelesaian:
Periksa sama ada GCC dipasang:

sudo apt install gcc

Jika ia dipasang, periksa dan sesuaikan pautan simbolik:

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

Contoh ralat 2: Ralat pautan perpustakaan

undefined reference to 'main'

Punca:
Fungsi main tidak ditakrifkan dalam program anda, atau pautan gagal.

Penyelesaian:
Pastikan fungsi main disertakan, dan kompil semula dengan pilihan pautan, contohnya:

gcc -o output main.c -lm

Ralat semasa masa jalan dan cara menanganinya

Contoh ralat 1: Tiada kebenaran pelaksanaan

bash: ./program: Permission denied

Punca:
Fail boleh laku tidak mempunyai kebenaran pelaksanaan.

Penyelesaian:
Berikan kebenaran pelaksanaan:

chmod +x program
./program

Contoh ralat 2: Perpustakaan hilang

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

Punca:
Perpust kongsi yang diperlukan tidak dipasang.

Penyelesaian:
Periksa nama perpustakaan yang hilang dan pasang ia:

sudo apt install libXXX-dev

Ralat semasa menukar versi dan penyelesaiannya

Contoh ralat: pertukaran tidak diterapkan

gcc --version

Jika versi yang ditukar tidak dipaparkan, semak semula tetapan update-alternatives anda.

Penyelesaian:

  1. Periksa senarai alternatif:
    sudo update-alternatives --config gcc
    
  1. Pilih nombor yang betul.
  2. Kemas kini pautan simbolik.
    sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
    

Ringkasan

Dalam bahagian ini, kami menerangkan ralat biasa yang berlaku semasa pemasangan dan penggunaan GCC, serta strategi penyelesaiannya.

Poin Utama:

  • Ralat pemasangan sering boleh diatasi dengan mengemas kini repositori atau melaraskan tetapan repositori.
  • Ralat kompilasi boleh diselesaikan dengan memeriksa kod dan pilihan pautan.
  • Ralat masa jalan sering timbul daripada isu kebenaran atau pustaka yang hilang.
  • Isu pertukaran versi boleh dikendalikan dengan pautan simbolik dan pelarasan update-alternatives.

7. Soalan Lazim

Bagaimana saya boleh memasang versi terbaru GCC?

Soalan:
Saya ingin memasang versi terbaru GCC, tetapi repositori lalai hanya menawarkan versi lama. Apa yang harus saya lakukan?

Jawapan:
Untuk memasang versi terbaru GCC, anda boleh menambah repositori PPA.

  1. Tambah repositori PPA:
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    
  1. Kemas kini senarai pakej:
    sudo apt update
    
  1. Pasang versi terbaru:
    sudo apt install gcc-12
    
  1. Sahkan versi:
    gcc --version
    

Bagaimana saya boleh menyahpasang GCC?

Soalan:
Saya ingin menyahpasang GCC. Bagaimana saya harus meneruskan?

Jawapan:
Anda boleh mengalih keluar GCC melalui arahan berikut:

sudo apt remove gcc
sudo apt autoremove

Jika anda juga ingin mengalih keluar alat-alat berkaitan, tambah:

sudo apt remove build-essential

Apa yang harus saya lakukan jika hanya versi lama yang boleh dipilih?

Soalan:
Walaupun saya menggunakan update-alternatives --config gcc, hanya versi lama yang muncul. Bagaimana saya boleh menambah versi yang lebih baru?

Jawapan:
Tambah versi yang lebih baru secara manual ke tetapan alternatif.

  1. Pasang versi yang diperlukan:
    sudo apt install gcc-12
    
  1. Tambah secara manual ke alternatif:
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120
    
  1. Pilih versi:
    sudo update-alternatives --config gcc
    

Apa yang harus saya lakukan jika ralat pergantungan berlaku?

Soalan:
Ralat pergantungan muncul semasa pemasangan GCC. Bagaimana saya boleh menyelesaikannya?

Jawapan:
Ralat pergantungan mungkin disebabkan oleh sistem yang tidak dikemas kini. Jalankan:

sudo apt update
sudo apt upgrade

Jika itu tidak menyelesaikannya, baiki pergantungan yang rosak secara automatik:

sudo apt --fix-broken install

Bagaimana menggunakan versi GCC tertentu untuk projek tertentu?

Soalan:
Saya ingin menggunakan versi GCC yang berbeza untuk setiap projek. Bagaimana saya boleh menyusunnya?

Jawapan:
Cipta pautan simbolik di dalam direktori projek yang menunjuk kepada binary GCC yang diingini.

  1. Cipta pautan tempatan:
    ln -s /usr/bin/gcc-9 ./gcc
    
  1. Gunakannya secara tempatan dalam arahan kompilasi:
    ./gcc -o program program.c
    

Apa yang harus saya lakukan jika “command not found” berlaku?

Soalan:
Walaupun saya telah memasang GCC, saya melihat “gcc: command not found.” Apa yang harus saya lakukan?

Jawapan:
Pertama, sahkan pemasangan:

dpkg -l | grep gcc

Jika GCC tidak dipasang, pasang semula:

sudo apt install gcc

Jika masih gagal, periksa pautan simbolik:

ls -l /usr/bin/gcc

Jika pautan rosak, baiki:

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

Ringkasan

Dalam bahagian ini, kami membentangkan soalan-soalan lazim dan penyelesaian konkrit untuk GCC.

Poin Utama:

  • Versi terbaru boleh dipasang melalui repositori PPA.
  • Penyahpasangan dan pengurusan versi boleh dikendalikan dengan mudah menggunakan update-alternatives .
  • Kami juga menyediakan contoh arahan konkrit untuk penyelesaian masalah.

8. Kesimpulan dan Langkah Seterusnya

Ringkasan artikel ini

  1. Gambaran keseluruhan GCC dan peranannya
  • GCC adalah kompiler yang berkuasa yang menyokong pelbagai bahasa seperti C dan C++.
  • Pada Ubuntu, ia boleh dipasang dengan mudah dari repositori rasmi, menjadikannya ideal untuk membina persekitaran pembangunan.
  1. Langkah pemasangan dan persediaan
  • Kami mengemas kini sistem dan memasang pakej build-essential.
  • Kami juga menyahkan versi dan mengendalikan penyelesaian masalah pergantungan.
  1. Penggunaan asas
  • Kami menjelaskan cara membuat, menjalankan program contoh.
  • Kami membincangkan cara menangani ralat dan menggunakan pilihan pengoptimuman.
  1. Menguruskan pelbagai versi dan menukar
  • Kami menjelaskan cara menggunakan update-alternatives untuk menukar antara versi GCC mengikut projek.
  1. Penyelesaian Masalah dan Soalan Lazim
  • Kami membincangkan kemungkinan ralat pemasangan dan penggunaan serta memberikan penyelesaian konkrit.

Sumber tambahan

  1. Dokumentasi rasmi Ubuntu
  • Laman Rasmi Ubuntu menyediakan panduan terperinci mengenai pengurusan pakej dan alat pembangunan.
  1. Dokumentasi rasmi GNU GCC
  1. Panduan konsol Linux
  • Konsol Linux menerbitkan maklumat penyelesaian masalah merentasi topik Linux.
  1. Laman pembelajaran dan forum

Langkah seterusnya

  1. Gunakan GCC dalam projek sebenar
  • Gunakan GCC dalam projek sebenar dan lakukan pembangunan yang lebih lanjutan.
  1. Gunakan perpustakaan dan sambungan
  • Pasang perpustakaan tambahan mengikut keperluan untuk memperluas ciri projek anda.
  1. Pelajari bahasa dan alat baru
  • mempelajari alat binaan, sasarkan peningkatan kemahiran selanjutnya.
  1. Sertai komuniti
  • Sertai forum atau projek sumber terbuka, kongsi pengetahuan, dan kembangkan kemahiran praktikal secara kolaboratif.

Kata akhir

Dalam artikel ini, kami menjelaskan langkah demi langkah cara memasang dan menggunakan GCC pada Ubuntu. Ia merangkumi segala-galanya dari asas hingga penyelesaian masalah, menjadikannya mudah bahkan untuk pemula menyiapkan persekitaran pembangunan mereka.

Satu nota akhir:
Gunakan artikel ini sebagai rujukan untuk menerapkan GCC dalam projek anda sendiri, nikmati pengaturcaraan, dan rujuk Soalan Lazim atau sumber tambahan jika timbul soalan baru.

Dalam artikel seterusnya, saya merancang untuk membincangkan asas sintaks C dan C++ serta teknik pembangunan lanjutan. Sila tunggu!

侍エンジニア塾