สร้างโปรแกรมสำหรับ Linux, macOS และ Windows
ชุดเครื่องมือเดียว รองรับหลายแพลตฟอร์ม
สร้างโปรแกรมสำหรับ Linux, macOS และ Windows เป็นบทเรียน Zig Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Zig Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน
ชุดเครื่องมือเดียว หลายแพลตฟอร์ม
จากเครื่องเดียว คุณสามารถสร้างไบนารีสำหรับระบบปฏิบัติการหลักทุกระบบได้ Zig ถือว่าการ build ข้ามแพลตฟอร์มเป็นความสามารถหลัก ไม่ใช่สิ่งที่ค่อยเพิ่มภายหลัง
Build สำหรับ Linux
เลือกเป้าหมาย Linux ด้วยการระบุทริปเปิลของมัน ABI แบบ musl ให้ไฟล์ปฏิบัติการ Linux ที่สะอาดและพกพาได้จากโฮสต์ใดก็ได้
zig build-exe main.zig -target x86_64-linux-muslBuild สำหรับ macOS
กำหนดเป้าหมายเป็น Apple Silicon ด้วยฟิลด์ระบบปฏิบัติการ macos ผลลัพธ์คือไบนารี Mach-O จริงที่ทำงานบน Mac arm64 ได้
zig build-exe main.zig -target aarch64-macosสร้างสำหรับ Windows
กำหนดเป้าหมายเป็น Windows แล้ว Zig จะสร้าง .exe ให้โดยอัตโนมัติ ฟิลด์ระบบปฏิบัติการ windows จะเลือกฟอร์แมตอ็อบเจ็กต์ที่ถูกต้องให้คุณ
zig build-exe main.zig -target x86_64-windowsซอร์สเดียว ผลลัพธ์ต่างกัน
โค้ด Zig ของคุณไม่เปลี่ยนระหว่างเป้าหมาย มีเพียงแฟล็ก -target ที่เปลี่ยน และคอมไพเลอร์จะจัดการส่วนที่เหลือให้
ตั้งค่าเป้าหมายใน build.zig
ในโปรเจกต์ สคริปต์การสร้างจะอ่านเป้าหมายแทน โดย standardTargetOptions จะเปิดให้ใช้ -target ผ่าน zig build
const target = b.standardTargetOptions(.{});กำหนดเป้าหมายให้ Exe
ส่งเป้าหมายที่แก้ไขแล้วเข้าไปยังไฟล์ปฏิบัติการ เพื่อให้กราฟการสร้างทั้งหมดทราบว่ากำลังสร้างสำหรับ แพลตฟอร์ม ใด
const exe = b.addExecutable(.{ .name = "app", .target = target });เขียนทับผ่านบรรทัดคำสั่ง
เมื่อมี standardTargetOptions แล้ว ผู้ใช้สามารถส่ง -Dtarget ให้ zig build เพื่อเลือกแพลตฟอร์มใดก็ได้โดยไม่ต้องแก้โค้ด
zig build -Dtarget=x86_64-windowsไม่ต้องใช้ SDK ภายนอก
Zig รวมส่วนหัวและไฟล์เริ่มต้นสำหรับแต่ละระบบปฏิบัติการมาให้แล้ว คุณจึงไม่ต้องติดตั้ง Windows SDK หรือ ชุดเครื่องมือ ของ macOS แยกต่างหาก
ทดสอบแต่ละบิลด์
คุณสามารถคอมไพล์ทุกเป้าหมายบนโฮสต์เครื่องเดียว จากนั้นคัดลอกไบนารีแต่ละไฟล์ไปยังเครื่องที่ตรงกันเพื่อ ตรวจสอบ ว่าทำงานได้ตามที่คาดไว้
สร้างทั้งสามแบบพร้อมกัน
การสร้างข้ามแพลตฟอร์มทำให้สคริปต์รีลีสเรียบง่าย เพียงวนซ้ำสั้น ๆ ผ่านทริปเพิลทั้งสาม ก็สร้างไบนารีสำหรับ Linux, macOS และ Windows ได้ในครั้งเดียว
ตรวจสอบอย่างรวดเร็ว
ลองคิดดูว่าคุณเลือกแพลตฟอร์มภายในโปรเจกต์การสร้างของ Zig อย่างไร
สรุป
คุณได้เรียนรู้การสร้างไบนารีสำหรับ Linux, macOS และ Windows จากโฮสต์เครื่องเดียวโดยใช้ -target หรือ -Dtarget โดยไม่ต้องใช้ SDK เพิ่มเติม 🛠️
คำถามที่พบบ่อย
บทเรียน “สร้างโปรแกรมสำหรับ Linux, macOS และ Windows” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “สร้างโปรแกรมสำหรับ Linux, macOS และ Windows” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Zig Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “สร้างโปรแกรมสำหรับ Linux, macOS และ Windows”
ชุดเครื่องมือเดียว รองรับหลายแพลตฟอร์ม คุณปฏิบัติ Zig Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Zig Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Zig Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “สร้างโปรแกรมสำหรับ Linux, macOS และ Windows” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Zig Academy นี้ได้ไหม
ได้ บทเรียน Zig Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เป้าหมายและทริปเปิล -target
- สร้างโปรแกรมสำหรับ Linux, macOS และ Windows
- การคอมไพล์ข้ามแพลตฟอร์มสำหรับ C ด้วย zig cc
- ไบนารีแบบสแตติกและ musl