github/gitignore · C.gitignore

Modèle .gitignore C expliqué

Explique pourquoi C.gitignore ignore les fichiers objets, les bibliothèques statiques et partagées, les exécutables, les informations de débogage et les fichiers de build des modules du noyau Linux.

Ouvrir dans le générateur Ouvrir avec C++, VisualStudioCode, Linux, Vim

C.gitignore bloque, d'après leur extension, les fichiers intermédiaires et les résultats produits par le compilateur et l'éditeur de liens. Les extensions de plusieurs plateformes y figurent ensemble pour qu'il convienne aussi bien à gcc, clang ou MSVC.

Il ne traite pas les fichiers des systèmes de build comme Make ou CMake. Si vous utilisez CMake, reportez-vous au modèle CMake ou au modèle C++, qui contient des règles CMake.

Explication règle par règle

MotifCe qui est ignoré et pourquoi
*.o*.obj*.ko*.elf*.dFichiers objets et de dépendancesRésultats de compilation créés pour chaque fichier source (.o, .obj), modules du noyau (.ko), binaires ELF et listes de dépendances d'en-têtes générées par le compilateur (.d).
*.gch*.pchEn-têtes précompilésEn-têtes précompilés de GCC et MSVC. Ils sont liés à la version et aux options du compilateur et ne sont pas utilisables dans un autre environnement.
*.lib*.a*.la*.lo*.dll*.so*.so.**.dylibBibliothèquesBibliothèques statiques (.a, .lib), fichiers libtool (.la, .lo) et bibliothèques partagées. *.so.* capture les noms versionnés comme libfoo.so.1.2.
*.exe*.out*.app*.i*86*.x86_64*.hexExécutablesRésultats de l'édition de liens et images HEX pour microcontrôleurs. a.out est lui aussi capturé par *.out.
*.dSYM/*.su*.idb*.pdb*.dwoInformations de débogageBundles de symboles macOS, résultats de -fstack-usage de GCC (.su), bases de données de débogage MSVC et DWARF séparé (.dwo).
*.mod**.cmd.tmp_versions/modules.orderModule.symversMkfile.olddkms.confBuild de modules du noyau LinuxFichiers laissés par le système de build du noyau (kbuild) lors de la création de modules. Si vous ne développez pas de pilotes, vous ne les rencontrerez presque jamais.
*.ilk*.map*.expSous-produits de l'éditeur de liensFichiers de liaison incrémentale MSVC, cartes de l'éditeur de liens et fichiers d'exportation.

Points d'attention en pratique

Modèle d'origine

C.gitignore36 règles
# Prerequisites*.d# Object files*.o*.ko*.obj*.elf# Linker output*.ilk*.map*.exp# Precompiled Headers*.gch*.pch# Libraries*.lib*.a*.la*.lo# Shared objects (inc. Windows DLLs)*.dll*.so*.so.**.dylib# Executables*.exe*.out*.app*.i*86*.x86_64*.hex# Debug files*.dSYM/*.su*.idb*.pdb# Kernel Module Compile Results*.mod**.cmd.tmp_versions/modules.orderModule.symversMkfile.olddkms.conf# debug information files*.dwo

Source des modèles : github/gitignore/C.gitignore @356fd7b (2026-09-11) · CC0-1.0

Modèles utilisés ensemble

Autres modèles expliqués