Zig Academy · Lección

Importar cabeceras de C con @cImport

Use declaraciones de C desde Zig.

Lección 1 de 413 pasos

Importar cabeceras de C con @cImport es una lección gratuita de Zig Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Zig Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Zig Academy incluye 4 lecciones en total.

Zig habla con C

Zig puede utilizar bibliotecas de C directamente, sin una capa de bindings independiente. El puente comienza con @cImport, que viene integrado.

Qué hace @cImport

@cImport ejecuta el compilador de C de Zig sobre un archivo C pequeño que usted describe y después expone cada declaración encontrada como un espacio de nombres normal de Zig.

Incluir una cabecera

Dentro de la llamada, indique las cabeceras mediante @cInclude. Cada una especifica una cabecera de C, igual que lo haría una línea de #include en C.

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

Un espacio de nombres de C

El resultado es un const normal de Zig. Accede a los nombres de C a través de él mediante la sintaxis de punto, exactamente como en cualquier otro espacio de nombres de una struct de Zig.

c.printf("hi\n");

Llamar en el nivel superior

Coloque @cImport en el ámbito del archivo para que todo el módulo pueda utilizarlo. Se evalúa una vez durante la compilación, no durante la ejecución.

Varias cabeceras

Un @cImport puede incorporar varias cabeceras. Añada más líneas de @cInclude y todas compartirán un único espacio de nombres combinado.

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

Definir macros primero

Use @cDefine antes de una inclusión para establecer una macro de C, igual que pasaría una opción -D a un compilador de C.

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

Eliminar una definición si es necesario

El @cUndef correspondiente elimina una macro antes de analizar las cabeceras, por si un valor predeterminado pudiera interferir.

Es tiempo de compilación

Todo lo que está dentro de @cImport sucede en tiempo de compilación. Zig analiza el código C, lo traduce y le entrega declaraciones de Zig listas para usar.

Las constantes también se incorporan

Las macros de C que se expanden a valores simples se convierten en constantes utilizables en Zig, por lo que valores como EXIT_SUCCESS están disponibles directamente en el espacio de nombres.

return c.EXIT_SUCCESS;

Un puente, C real

Con un solo @cImport obtiene las funciones, los tipos y las constantes de toda una biblioteca de C, todos invocables desde código Zig idiomático.

Comprobación rápida

Recuerde qué builtin incorpora las declaraciones de C a Zig.

Repaso

Ha visto que @cImport junto con @cInclude convierte las cabeceras de C en un espacio de nombres de Zig durante la compilación, y le proporciona directamente las funciones y constantes de C. 🎯

Gratis para empezar

Aprende Zig con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Importar cabeceras de C con @cImport» es gratis?

Sí — el texto completo de «Importar cabeceras de C con @cImport» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Zig Academy, actualiza a CoddyKit PRO. El curso de Zig Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Importar cabeceras de C con @cImport»?

Use declaraciones de C desde Zig. Practicas Zig Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Zig Academy?

No se requiere experiencia previa. Zig Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Importar cabeceras de C con @cImport»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Zig Academy?

Sí. Cada lección de Zig Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Importar cabeceras de C con @cImport
  2. Llamar a funciones de C y enlazar
  3. Punteros, cadenas y tipos de C
  4. zig translate-c para leer C como Zig
← Volver a Zig Academy