0Pricing
Zig Academy · Pelajaran

Mengimpor Header C dengan @cImport

Gunakan deklarasi C dari Zig.

Mengimpor Header C dengan @cImport adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Zig Talks to C

Zig can use C libraries directly, with no separate binding layer. The bridge starts with the built-in @cImport.

What @cImport Does

@cImport runs Zig's C compiler on a tiny C file you describe, then exposes every declaration it finds as a normal Zig namespace.

Include a Header

Inside the call you list headers with @cInclude. Each one names a C header just like a C #include line would.

const c = @cImport({
    @cInclude("stdio.h");
});

A Namespace of C

The result is a regular Zig const. You reach C names through it with dot syntax, exactly like any other Zig struct namespace.

c.printf("hi\n");

Call at the Top Level

Put the @cImport at file scope so the whole module can use it. It is evaluated once at compile time, not at run time.

Multiple Headers

One @cImport can pull in several headers. Add more @cInclude lines and they all share a single combined namespace.

const c = @cImport({
    @cInclude("stdio.h");
    @cInclude("stdlib.h");
});

Define Macros First

Use @cDefine before an include to set a C macro, just as you would pass a -D flag to a C compiler.

const c = @cImport({
    @cDefine("_GNU_SOURCE", "");
    @cInclude("stdio.h");
});

Undefine If Needed

The matching @cUndef removes a macro before the headers are parsed, in case a default would otherwise get in your way.

It Is Compile Time

Everything inside @cImport happens at compile time. Zig parses the C, translates it, and hands you ready-to-use Zig declarations.

Constants Come Across

C macros that expand to plain values become usable Zig constants, so things like EXIT_SUCCESS are right there in the namespace.

return c.EXIT_SUCCESS;

One Bridge, Real C

With a single @cImport you gain a whole C library's functions, types, and constants, all callable from idiomatic Zig code.

Quick Check

Recall which builtin pulls C declarations into Zig.

Recap

You saw that @cImport with @cInclude turns C headers into a Zig namespace at compile time, giving you C functions and constants directly. 🎯

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengimpor Header C dengan @cImport” gratis?

Ya — teks lengkap “Mengimpor Header C dengan @cImport” 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 “Mengimpor Header C dengan @cImport”?

Gunakan deklarasi C dari Zig. 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 1 dari 4.

Berapa lama pelajaran “Mengimpor Header C dengan @cImport” 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