GCCย่อมาจาก GNU Compiler Collection ซึ่งเป็น C compiler สำหรับ Linux
$ gcc [options] [source files] [object files] [-o output file]
ตัวเลือกหลักของ GCC:
ตัวเลือก | คำอธิบาย |
---|---|
gcc -c | รวบรวมไฟล์ต้นฉบับไปยังไฟล์ออบเจ็กต์โดยไม่ต้องเชื่อมโยง |
gcc -Dname[=value] | กำหนดมาโครตัวประมวลผลล่วงหน้า |
gcc -fPIC | สร้างรหัสตำแหน่งอิสระสำหรับไลบรารีที่ใช้ร่วมกัน |
gcc -glevel | สร้างข้อมูลการดีบักที่ GDB ใช้ |
gcc -Idir | เพิ่มไดเร็กทอรีรวมของไฟล์ส่วนหัว |
gcc -llib | เชื่อมโยงกับไฟล์ไลบรารี |
gcc -Ldir | ค้นหาในไดเร็กทอรีสำหรับไฟล์ไลบรารี |
gcc -o output file | เขียนสร้างเอาต์พุตไปยังไฟล์เอาต์พุต |
gcc -Olevel | ปรับขนาดโค้ดและเวลาดำเนินการให้เหมาะสม |
gcc -shared | สร้างไฟล์อ็อบเจ็กต์ที่แบ่งใช้สำหรับไลบรารีที่แบ่งใช้ |
gcc -Uname | ไม่กำหนดมาโครตัวประมวลผลล่วงหน้า |
gcc -w | ปิดใช้งานข้อความเตือนทั้งหมด |
gcc -Wall | เปิดใช้งานข้อความเตือนทั้งหมด |
gcc -Wextra | เปิดใช้งานข้อความเตือนเพิ่มเติม |
คอมไพล์file1.cและfile2.cและลิงก์ไปยังไฟล์เอาต์พุตexecfile :
$ gcc file1.c file2.c -o execfile
รันไฟล์เอาต์พุตexecfile :
$ ./execfile
คอมไพล์file1.cและfile2.cโดยไม่ต้องลิงก์:
$ gcc -c file1.c file2.c
คอมไพล์myfile.cพร้อมข้อมูลการดีบักและลิงก์ไปยังไฟล์เอาต์พุตexecfile :
$ gcc -g myfile.c -o execfile
คอมไพล์myfile.cโดยเปิดใช้งานข้อความเตือนและลิงก์ไปยังไฟล์เอาต์พุตexecfile :
$ gcc -Wall myfile.c -o execfile
คอมไพล์myfile.cด้วยและเชื่อมโยงกับlibmath.aไลบรารีแบบคงที่อยู่ใน/ user / local / mathเพื่อส่งออกไฟล์execfile :
$ gcc -static myfile.c -L/user/local/math -lmath -o execfile
คอมไพล์myfile.cด้วยการปรับให้เหมาะสมและลิงก์ไปยังไฟล์เอาต์พุตexecfile :
$ gcc -O myfile.c -o execfile