0Pricing
Zig Academy · Pelajaran

Biner Statis dan musl

Kirim executable mandiri.

Biner Statis dan musl adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Zig Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Zig Academy mencakup 4 pelajaran total.

Arti Statis

Biner statis menyertakan pustakanya di dalam executable, sehingga dapat berjalan tanpa bergantung pada pustaka yang terpasang di mesin target.

Dinamis vs Statis

Biner dinamis memuat pustaka bersama saat runtime. Biner statis membawanya serta, sehingga ukuran berkas lebih besar tetapi dependensi lebih sedikit.

Mengapa glibc Menolak Penautan Statis

Pustaka C gnu, glibc, sulit ditautkan sepenuhnya secara statis dan dapat bermasalah pada sistem dengan versi glibc yang berbeda.

musl sebagai Solusi

Pustaka C musl berukuran kecil dan dapat ditautkan dengan bersih ke dalam biner statis, sehingga menjadi ABI pilihan untuk build Linux yang portabel.

Pilih musl di dalam Triple

Pilih musl dengan menetapkannya sebagai kolom ABI. Jika -target diakhiri dengan musl, Zig menautkan pustaka C yang mendukung build statis.

zig build-exe main.zig -target x86_64-linux-musl

Sering Kali Statis secara Bawaan

Untuk target Linux musl, Zig secara bawaan menautkan libc secara statis, sehingga executable yang dihasilkan sudah dapat berjalan secara mandiri.

Verifikasi dengan ldd

Periksa hasil pekerjaan Anda di Linux dengan ldd. Biner yang benar-benar statis akan melaporkan bahwa biner tersebut bukan executable dinamis.

ldd app

Jalankan di Mana Saja pada Linux

Biner musl statis dapat disalin ke hampir semua mesin Linux dan langsung berjalan, bahkan di kontainer minimal, karena tidak memerlukan libc eksternal.

Cocok untuk Kontainer

Biner statis sangat berguna dalam image berukuran kecil. Anda dapat memasukkannya ke kontainer scratch tanpa pustaka OS, dan biner tersebut tetap berjalan.

Perhatikan Konsekuensinya

Berkas statis berukuran lebih besar dan membawa libc sendiri, sehingga perbaikan keamanan pada pustaka tersebut mengharuskan Anda melakukan build ulang untuk memperbaruinya.

Perkecil dengan ReleaseSmall

Untuk mengimbangi ukuran yang lebih besar, lakukan build dalam ReleaseSmall, yang mengoptimalkan biner statis agar memiliki ukuran sekecil mungkin.

zig build-exe main.zig -target x86_64-linux-musl -O ReleaseSmall

Pemeriksaan Singkat

Ingat kembali pustaka C yang dipasangkan Zig dengan biner Linux statis yang portabel.

Rangkuman

Anda telah mempelajari bahwa biner statis menyertakan pustakanya, dan bahwa penargetan musl memberi Anda executable Linux yang portabel dan bebas dependensi. 📦

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Biner Statis dan musl” gratis?

Ya — teks lengkap “Biner Statis dan musl” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Zig Academy, upgrade ke CoddyKit PRO. Kursus Zig Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Biner Statis dan musl”?

Kirim executable mandiri. Kamu berlatih Zig Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Zig Academy?

Tidak diperlukan pengalaman sebelumnya. Zig Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Biner Statis dan musl” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Zig Academy ini?

Ya. Setiap pelajaran Zig Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Target dan Triple -target
  2. Membangun untuk Linux, macOS, dan Windows
  3. Kompilasi Silang C dengan zig cc
  4. Biner Statis dan musl
← Kembali ke Zig Academy