Appeler des fonctions C et effectuer la liaison
Liez-vous à libc et aux bibliothèques externes.
Appeler des fonctions C et effectuer la liaison est une leçon Zig Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Zig Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Zig Academy comprend 4 leçons au total.
Importer n'est pas lier
@cImport vous fournit les déclarations, mais le véritable code machine se trouve toujours dans une bibliothèque C à laquelle vous devez vous lier.
Se lier à libc
La plupart des appels C nécessitent la bibliothèque standard C. Indiquez au processus de compilation de lier libc afin que des fonctions comme printf soient résolues lors de l'édition des liens.
exe.linkLibC();Liaison sur la CLI
Pour une exécution rapide, transmettez vous-même l'option. -lc lie libc lorsque vous compilez directement un seul fichier.
zig build-exe main.zig -lcAppeler comme du code natif
Une fois la liaison effectuée, une fonction C s'appelle comme une fonction Zig. Vous écrivez c.printf(...) et Zig gère la convention d'appel.
c.printf("%d\n", 42);Respecter la signature
Vous devez transmettre des arguments conformes à la signature C. Des types incorrects provoquent une erreur de compilation, car Zig connaît le prototype traduit.
Lier une bibliothèque nommée
Pour les autres bibliothèques, indiquez leur nom. linkSystemLibrary demande à l'éditeur de liens d'inclure, par exemple, la bibliothèque mathématique.
exe.linkSystemLibrary("m");Les valeurs de retour reviennent
La valeur de retour d'une fonction C arrive comme une valeur Zig normale du type traduit, prête à être stockée ou testée.
const n = c.abs(-5);Les erreurs suivent les conventions de C
C n'a pas d'unions d'erreurs ; les échecs se manifestent donc par des codes de retour ou par un errno défini. Vous les vérifiez manuellement, comme en C.
Aucune conversion cachée
Zig n'effectue aucune conversion silencieuse de vos données. Ce que vous transmettez est ce que C reçoit, ce qui rend l'appel économique et prévisible.
Configuration dans le fichier de compilation
Dans build.zig, vous associez la liaison à l'artefact. La même étape exe qui compile votre code enregistre également ses bibliothèques.
exe.linkLibC();
exe.linkSystemLibrary("z");Deux étapes vers la réussite
Appeler C signifie toujours importer puis lier : importer les déclarations, puis s'assurer que les vrais symboles sont disponibles pour l'éditeur de liens.
Vérification rapide
Réfléchissez à ce qui permet réellement de résoudre une fonction C.
Récapitulatif
Vous avez appris qu'appeler C nécessite à la fois l'importation et la liaison ; ensuite, les fonctions C s'appellent comme des fonctions Zig natives. 🎯
Questions Fréquemment Posées
La leçon « Appeler des fonctions C et effectuer la liaison » est-elle gratuite ?
Oui — le texte complet de « Appeler des fonctions C et effectuer la liaison » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Zig Academy, passe à CoddyKit PRO. Le cours Zig Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Appeler des fonctions C et effectuer la liaison » ?
Liez-vous à libc et aux bibliothèques externes. Tu pratiques Zig Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Zig Academy ?
Aucune expérience préalable n'est requise. Zig Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Appeler des fonctions C et effectuer la liaison » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Zig Academy ?
Oui. Chaque leçon Zig Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Importer des en-têtes C avec @cImport
- Appeler des fonctions C et effectuer la liaison
- Pointeurs, chaînes et types C
- zig translate-c pour lire le C comme du Zig