การคอมไพล์ข้ามแพลตฟอร์มสำหรับ C ด้วย zig cc
ใช้ Zig เป็นคอมไพเลอร์ C แบบพกพา
การคอมไพล์ข้ามแพลตฟอร์มสำหรับ C ด้วย zig cc เป็นบทเรียน Zig Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Zig Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน
Zig ยังเป็นคอมไพเลอร์ C ได้ด้วย
นอกจากโค้ด Zig แล้ว ชุดเครื่องมือนี้ยังมีคอมไพเลอร์ C แบบเต็มรูปแบบ คำสั่ง zig cc ทำงานแทน gcc หรือ clang ได้โดยตรง
zig cc main.c -o appคอมไพล์ข้ามแพลตฟอร์มสำหรับ C ด้วย
แฟล็ก -target เดิมใช้กับ C ได้ด้วย คุณสามารถสร้างโปรแกรม C สำหรับแพลตฟอร์มอื่นโดยใช้ zig cc จากโฮสต์ใดก็ได้
zig cc -target aarch64-linux-musl main.c -o appเหตุผลที่มันทำงานได้ทันที
Zig รวมซอร์สและส่วนหัวของ libc สำหรับเป้าหมายจำนวนมากไว้ให้ จึงสามารถ คอมไพล์ C ข้ามแพลตฟอร์ม ได้โดยไม่ต้องติดตั้งชุดเครื่องมือข้ามแพลตฟอร์มแยกต่างหาก
ตัวแทนที่ใช้แทนได้ทันที
ระบบการสร้างที่คาดว่าจะมีตัวแปร CC จะยอมรับ zig cc โดยตรง ตั้งค่า CC แล้วโปรเจกต์เดิมจะคอมไพล์ผ่าน Zig
CC="zig cc" makeส่งแฟล็ก C ตามปกติ
แฟล็กคอมไพเลอร์ที่คุ้นเคยยังใช้ได้ตามเดิม คุณสามารถเพิ่ม -O2, -I หรือ -l ได้เหมือนกับที่ทำกับ clang หรือ gcc
zig cc -O2 -Iinclude main.c -o appยังมี zig c++ ด้วย
สำหรับซอร์ส C++ ให้ใช้ไดรเวอร์ที่ตรงกัน zig c++ จะคอมไพล์และลิงก์ C++ พร้อมความสามารถด้านการคอมไพล์ข้ามแพลตฟอร์มแบบเดียวกัน
zig c++ -target x86_64-windows main.cpp -o app.exeเลือก libc ตามเป้าหมาย
ฟิลด์ ABI ยังคงเป็นตัวเลือกไลบรารี C ใช้ musl สำหรับ libc แบบสแตติกที่พกพาได้ หรือใช้ gnu เพื่อให้ตรงกับระบบ glibc
ผสาน C กับ Zig
คุณสามารถคอมไพล์อ็อบเจ็กต์ C ด้วย zig cc แล้วลิงก์เข้ากับโปรแกรม Zig โดยใช้ คอมไพเลอร์ เดียวกันกับทั้งสองภาษา
เหมาะสำหรับ CI
เนื่องจากไม่ต้องใช้ชุดเครื่องมือแยกตามเป้าหมาย กระบวนการสร้างจึงเรียบง่าย การติดตั้ง Zig เพียงครั้งเดียวสามารถ กำหนดเป้าหมาย ให้ทุกแพลตฟอร์มที่คุณจัดส่งได้
ได้ประโยชน์จากแคชแบบเดียวกัน
zig cc ใช้แคชการสร้างของ Zig ซ้ำ ดังนั้นการคอมไพล์ C ซ้ำจึง รวดเร็ว และไม่ต้องทำงานเดิมซ้ำระหว่างการเรียกใช้แต่ละครั้ง
ตรวจสอบ Clang ที่อยู่เบื้องหลัง
เบื้องหลัง zig cc ขับเคลื่อนด้วย Clang ที่รวมมาให้ ดังนั้นเอาต์พุตแบบละเอียดและการวินิจฉัยมาตรฐานจึงคุ้นเคยสำหรับผู้ที่ใช้ LLVM
zig cc -v main.c -o appตรวจสอบอย่างรวดเร็ว
ลองนึกย้อนดูว่าอะไรทำให้ zig cc เหมาะสำหรับโปรเจกต์ C ที่มีอยู่แล้ว
สรุป
คุณได้เรียนรู้ว่า zig cc เป็นคอมไพเลอร์ C ที่ใช้แทนได้ทันที สามารถคอมไพล์ C ข้ามแพลตฟอร์ม รับแฟล็กทั่วไป และไม่ต้องใช้ชุดเครื่องมือเพิ่มเติม ⚙️
เรียนรู้ Zig ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “การคอมไพล์ข้ามแพลตฟอร์มสำหรับ C ด้วย zig cc” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การคอมไพล์ข้ามแพลตฟอร์มสำหรับ C ด้วย zig cc” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Zig Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การคอมไพล์ข้ามแพลตฟอร์มสำหรับ C ด้วย zig cc”
ใช้ Zig เป็นคอมไพเลอร์ C แบบพกพา คุณปฏิบัติ Zig Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Zig Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Zig Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การคอมไพล์ข้ามแพลตฟอร์มสำหรับ C ด้วย zig cc” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Zig Academy นี้ได้ไหม
ได้ บทเรียน Zig Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เป้าหมายและทริปเปิล -target
- สร้างโปรแกรมสำหรับ Linux, macOS และ Windows
- การคอมไพล์ข้ามแพลตฟอร์มสำหรับ C ด้วย zig cc
- ไบนารีแบบสแตติกและ musl