GNU Compiler Collection

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Loncat ke navigasi Loncat ke pencarian
GNU Compiler Collection
GNU Compiler Collection logo.svg
GCC 10.2 yang sedang mengompilasi kode sumbernya sendiri
GCC 10.2 yang sedang mengompilasi kode sumbernya sendiri
Perancang awalRichard Stallman
PengembangProyek GNU
Rilis perdana23 Mei 1987; 34 tahun lalu (1987-05-23)[1]
Rilis stabil
10.2[2] / 23 Juli 2020; 13 bulan lalu (2020-07-23)
Repositorihttps://gcc.gnu.org/git/?p=gcc.git
Bahasa pemrogramanC, dengan beberapa komponen ditulis dalam C++[3]
Sistem operasiLintas platform
PlatformGNU dan banyak lagi
Ukuran~15 juta LOC[4]
JenisKompilator
LisensiGPLv3+ dengan GCC Runtime Library Exception[5]
Situs webgcc.gnu.org

GNU Compiler Collection (disingkat GCC) adalah koleksi kompilator yang dikembangkan oleh proyek GNU. Pada awal rilisnya, GCC merupakan singkatan dari GNU C Compiler karena hanya bisa melakukan kompilasi terhadap bahasa C. Namun, pada bulan Desember 1987, kompilator GCC untuk C++ dirilis.

Beberapa bagian depan untuk bahasa C++, Ada, Fortran, Go, dan D juga dikembangkan beberapa tahun setelahnya.[6][7] Sementara hasil bagian belakangnya dapat dijalankan di berbagai arsitektur seperti x86-64, x86, i386, ARM, SPARC, dan MIPS.[8]

Adopsi[sunting | sunting sumber]

GCC telah diadopsi sebagai kompilator standar oleh banyak distro Linux dan sistem operasi Unix lainnya seperti OpenIndiana.[9] Kebanyakan sistem BSD juga menggunakan GCC, meskipun FreeBSD dan OpenBSD mengganti kompilatornya dengan Clang.[10][11] macOS juga berencana menggunakan Clang setelah berkontribusi banyak pada LLVM, bagian belakang Clang, sementara para pengembangnya untuk macOS mulai berdiskusi tentang kelayakan dukungan GCC.[12][13]

GCC tersedia di Windows melalui MinGW maupun TDM-GCC.[14][15] GCC bisa melakukan kompilasi kode ke Android dengan Android NDK.[16]

Lisensi[sunting | sunting sumber]

GCC dilisensikan dibawah Lisensi Publik Umum GNU, dengan pengecualian bahwa seseorang dapat mendistribusikan perangkat lunaknya yang dikompilasi dengan GCC dengan hak ciptanya sendiri, meskipun ini termasuk membawa berkas-berkas header dan runtime milik GCC yang dibutuhkan oleh perangkat lunaknya. Pengecualian ini disebut dengan "GCC Runtime Library Exception".[17]

Referensi[sunting | sunting sumber]

  1. ^ "GCC Releases". GNU Project. Diakses tanggal 2020-07-24. 
  2. ^ "GCC 10 Release Series - GNU Project - Free Software Foundation (FSF)". gcc.gnu.org. Diakses tanggal 2020-07-24. 
  3. ^ GNU Project (2020-10-15). "GCC Coding Conventions: C and C++ Language Conventions". gcc.gnu.org. Free Software Foundation. Diakses tanggal 2021-01-08. 
  4. ^ Víctor Rodríguez (2019-10-01). "Cutting Edge Toolchain (Latest Features in GCC/GLIBC)". youtube.com. Linux Foundation. Diakses tanggal 2021-01-19. 
  5. ^ "GCC Runtime Library Exception". Diakses tanggal 2020-07-24. 
  6. ^ "G++ and GCC (Using the GNU Compiler Collection (GCC))". gcc.gnu.org. Diakses tanggal 2020-08-27. 
  7. ^ "GNU Compiler Collection - ArchWiki". wiki.archlinux.org. Diakses tanggal 2020-08-27. 
  8. ^ "Host/Target specific installation notes for GCC - GNU Project - Free Software Foundation (FSF)". gcc.gnu.org. Diakses tanggal 2020-08-27. 
  9. ^ "illumos GCC - OpenIndiana - OpenIndiana Wiki". wiki.openindiana.org. Diakses tanggal 2020-08-27. 
  10. ^ "FreeBSD 13 Is Preparing To Finally Retire GCC 4.2 - Phoronix". www.phoronix.com. Diakses tanggal 2020-08-27. 
  11. ^ "OpenBSD Switches To Clang Compiler For i386/AMD64 - Phoronix". www.phoronix.com. Diakses tanggal 2020-08-27. 
  12. ^ "Apple's Compiler Team Starts Upstreaming Changes For macOS 11 - Phoronix". www.phoronix.com. Diakses tanggal 2020-08-27. 
  13. ^ Gallager, Eric (Mon Jun 22 22:51:54 GMT 2020). "WWDC thread: support for darwin/macOS going forward". Diakses tanggal 2020-08-27. 
  14. ^ "MinGW | Minimalist GNU for Windows". mingw.org. Diakses tanggal 2020-08-27. 
  15. ^ jmeubank/tdm-gcc, 2020-08-26, diakses tanggal 2020-08-27 
  16. ^ "Android NDK". Android Developers. Diakses tanggal 2020-08-27. 
  17. ^ "GCC Runtime Library Exception". GNU. 2009-03-31. Diakses tanggal 2020-10-28. 

Pranala luar[sunting | sunting sumber]