ชุดแปลโปรแกรมของกนู (อังกฤษ: GNU Compiler Collection) หรือเรียกโดยย่อว่า จีซีซี (อังกฤษ: GCC) เป็นชุดโปรแกรมแปลโปรแกรมสำหรับแปลภาษาโปรแกรมต่าง ๆ พัฒนาโดยโครงการกนู (GNU) และแจกจ่ายเป็นซอฟต์แวร์เสรีภายใต้สัญญาอนุญาตแบบ GPL และ LGPL โดยชุด GCC ถือว่าเป็นชุดคอมไพเลอร์มาตรฐานในระบบปฏิบัติการแบบยูนิกซ์ อย่างเช่น ลินุกซ์ หรือ Mac OS X เป็นต้น
ชื่อเดิมของ GCC คือ GNU C Compiler เนื่องจากในระยะแรกถูกพัฒนาขึ้นเป็นคอมไพเลอร์ของภาษาซีเท่านั้น แต่ในภายหลังเมื่อได้พัฒนาให้สนับสนุนภาษาโปรแกรมอื่นๆ มากขึ้น จึงเปลี่ยนชื่อเพื่อให้สื่อครอบคลุมความหมายมากกว่าเดิม
GCC เริ่มพัฒนาใน ค.ศ. 1985 โดยริชาร์ด สตอลแมน ซึ่งเขาเริ่มจากการแปลงคอมไพเลอร์ของภาษา Pastel (ส่วนขยายของภาษาปาสกาล) ให้ใช้กับภาษาซีได้ GCC ถูกเขียนขึ้นมาใหม่อีกครั้งโดยใช้ภาษาซีทั้งหมด เพื่อเป็นคอมไพเลอร์สำหรับภาษาซีและเป็นส่วนสำคัญของโครงการกนูในยุคแรก ซึ่งทิศทางการพัฒนากำหนดโดย Free Software Foundation
ใน ค.ศ. 1997 กลุ่มนักพัฒนา GCC จำนวนหนึ่งไม่พอใจการพัฒนาของ GCC สายหลักที่ล่าช้า จึงแยกตัวออกมาพัฒนา EGCS (Experimental/Enhanced GNU Compiler System) ทำให้การพัฒนาเกิดขึ้นรวดเร็วกว่า GCC เดิมมาก ในปี ค.ศ. 1999 EGCS กลายมาเป็น GCC เวอร์ชันหลักแทน GCC เก่าในท้ายที่สุด
นอกจากจะเป็นคอมไพเลอร์มาตรฐานบนระบบปฏิบัติการแบบยูนิกซ์แล้ว GCC ยังถูกนำมาแปลงให้ใช้ได้บนระบบปฏิบัติการอื่นๆ เช่น NeXTSTEP และ Mac OS X รวมถึงระบบฝังตัวอื่นๆ เช่น Symbian, PlayStation และ Dreamcast เป็นต้น
GCC ทำงานโดยใช้บรรทัดคำสั่ง ผู้ใช้มักเรียกโปรแกรมโดยเรียกโปรแกรมที่ชื่อ gcc พร้อมทั้งใส่ตัวเลือกต่างๆ ทางพารามิเตอร์ในบรรทัดคำสั่ง โปรแกรมนี้จะวิเคราะห์ภาษาที่ใช้จากนามสกุลของไฟล์ แล้วเรียกพรีโพรเซสเซอร์, คอมไพเลอร์, แอสเซมเบลอร์ และ ลิงเกอร์ มาทำงานตามลำดับ แต่ผู้ใช้สามารถสั่งให้ทำงานเฉพาะบางขั้นตอนข้างบนจากพารามิเตอร์ได้
พรีโพรเซสเซอร์ ที่ใช้เป็นโปรแกรมหนึ่งใน GCC มีชื่อว่า cpp เรียกใช้ก็ต่อเมื่อจะคอมไพล์โปรแกรมที่เขียนในบางภาษา เช่น C หรือ C++ เป็นต้น
ใน GCC แยกคอมไพเลอร์แต่ละภาษาออกเป็นคนละโปรแกรม ตัวอย่างเช่น คอมไพเลอร์ภาษา C จะเป็นโปรแกรมที่ชื่อ cc1 โครงสร้างภายในคอมไพเลอร์แต่ละภาษาแบ่งเป็นสามส่วนเหมือนกัน ได้แก่ ฟรอนต์เอ็นด์ (frontend) มิดเดิลเอ็นด์ (middle-end) และ แบ็คเอ็นด์ (backend)
ส่วน แอสเซมเบลอร์ และ ลิงเกอร์ นั้นไม่รวมอยู่ในชุดโปรแกรม GCC ในระบบกนูโปรแกรมทั้งสองจะอยู่ในอีกชุดโปรแกรมหนึ่ง คือ binutils แอสเซมเบลอร์ ทำหน้าที่แปลภาษาแอสเซมบลี เป็นภาษาเครื่อง ในขณะที่ ลิงเกอร์ ทำหน้าที่รวมไฟล์ภาษาเครื่อง ซึ่งอาจมีหลายไฟล์ และไลบรารีเข้าด้วยกัน เป็นโปรแกรมที่สมบูรณ์สามารถทำงานได้