0Pricing
Zig Academy · Pelajaran

Memanggil Fungsi C dan Menautkan

Tautkan ke libc dan pustaka eksternal.

Memanggil Fungsi C dan Menautkan adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.

Mengimpor Bukan Berarti Menautkan

@cImport menyediakan deklarasi, tetapi kode mesin sebenarnya tetap berada di pustaka C yang harus Anda tautkan.

Tautkan dengan libc

Sebagian besar pemanggilan C memerlukan pustaka standar C. Beri tahu proses build untuk menautkan libc agar fungsi seperti printf dapat ditemukan saat penautan.

exe.linkLibC();

Penautan melalui CLI

Untuk menjalankan dengan cepat, teruskan flag-nya sendiri. -lc menautkan libc saat Anda mengompilasi satu file secara langsung.

zig build-exe main.zig -lc

Panggil seperti Kode Native

Setelah ditautkan, fungsi C dipanggil seperti fungsi Zig. Anda menulis c.printf(...), dan Zig menangani konvensi pemanggilannya.

c.printf("%d\n", 42);

Sesuaikan Signaturnya

Anda harus meneruskan argumen yang sesuai dengan signature C. Tipe yang salah menjadi error kompilasi karena Zig mengetahui prototipe yang telah diterjemahkan.

Tautkan Pustaka Bernama

Untuk pustaka lain, sebutkan namanya. linkSystemLibrary memberi tahu penaut untuk memasukkan sesuatu seperti pustaka matematika.

exe.linkSystemLibrary("m");

Nilai Kembalian Diterima

Nilai kembalian fungsi C tiba sebagai nilai Zig biasa dengan tipe yang telah diterjemahkan, siap disimpan atau diuji.

const n = c.abs(-5);

Error Mengikuti Konvensi C

C tidak memiliki union error, sehingga kegagalan muncul sebagai kode kembalian atau errno yang ditetapkan. Anda memeriksanya dengan cara C, secara manual.

Tanpa Marshalling Tersembunyi

Zig tidak melakukan konversi data Anda secara diam-diam. Apa yang Anda teruskan adalah apa yang diterima C, sehingga pemanggilan tetap murah dan mudah diprediksi.

Pengaturan pada File Build

Dalam build.zig, Anda mengaitkan penautan dengan artefak. Langkah exe yang sama, yang mengompilasi kode Anda, juga mencatat pustakanya.

exe.linkLibC();
exe.linkSystemLibrary("z");

Dua Langkah Menuju Keberhasilan

Memanggil C selalu terdiri dari impor dan link: masukkan deklarasinya, lalu pastikan simbol sebenarnya tersedia bagi penaut.

Pemeriksaan Singkat

Pikirkan hal yang membuat fungsi C benar-benar dapat ditemukan.

Rangkuman

Anda telah mempelajari bahwa pemanggilan C memerlukan impor dan penautan, setelah itu fungsi C dapat dipanggil seperti fungsi Zig native. 🎯

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memanggil Fungsi C dan Menautkan” gratis?

Ya — teks lengkap “Memanggil Fungsi C dan Menautkan” 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 “Memanggil Fungsi C dan Menautkan”?

Tautkan ke libc dan pustaka eksternal. 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 2 dari 4.

Berapa lama pelajaran “Memanggil Fungsi C dan Menautkan” 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. Mengimpor Header C dengan @cImport
  2. Memanggil Fungsi C dan Menautkan
  3. Pointer, String, dan Tipe C
  4. zig translate-c untuk Membaca C sebagai Zig
← Kembali ke Zig Academy