Zig Academy · บทเรียน

การคอมไพล์ข้ามแพลตฟอร์มสำหรับ C ด้วย zig cc

ใช้ Zig เป็นคอมไพเลอร์ C แบบพกพา

บทเรียน 3 จาก 413 ขั้นตอน

การคอมไพล์ข้ามแพลตฟอร์มสำหรับ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เป้าหมายและทริปเปิล -target
  2. สร้างโปรแกรมสำหรับ Linux, macOS และ Windows
  3. การคอมไพล์ข้ามแพลตฟอร์มสำหรับ C ด้วย zig cc
  4. ไบนารีแบบสแตติกและ musl
← กลับไปที่ Zig Academy