Dans les builds Go avec CGO, les fichiers C/C dans la racine du package sont automatiquement inclus dans le processus de compilation. Cependant, il peut arriver que vous souhaitiez incorporer des fichiers C à partir d'un sous-répertoire spécifique. Existe-t-il un moyen d'y parvenir en utilisant les directives CGO ?
Malheureusement, les directives CGO n'offrent pas la possibilité d'inclure nativement des fichiers C à partir de sous-répertoires. La chaîne d'outils Go ne reconnaît que les fichiers C trouvés directement dans la racine du package.
Une solution alternative consiste à créer un sous-package au sein de votre projet et à placer les fichiers C souhaités dans son annuaire. Cependant, cette approche nécessite les étapes suivantes :
Pour une intégration C/C plus complexe, il peut être nécessaire de construire la source séparément. Cela implique :
N'oubliez pas que la chaîne d'outils Go est conçue pour plus de commodité avec des exigences C/C simples. Pour des intégrations plus avancées ou complexes, il peut être plus approprié d'utiliser des processus de construction distincts et d'exploiter les directives CGO nécessaires pour la liaison.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!