github/gitignore · C.gitignore

Penjelasan template .gitignore C

Menjelaskan mengapa C.gitignore mengabaikan file objek, pustaka statis dan bersama, file eksekusi, informasi debug, dan file build modul kernel Linux.

Buka di generator Buka bersama C++, VisualStudioCode, Linux, Vim

C.gitignore memblokir file perantara dan hasil yang dibuat compiler dan linker berdasarkan ekstensinya. Agar bisa dipakai dengan gcc, clang, maupun MSVC, ekstensi dari berbagai platform dimasukkan bersama.

File sistem build seperti Make atau CMake tidak ditangani. Jika memakai CMake, lihat template CMake atau template C++ yang berisi aturan CMake.

Penjelasan per aturan

PolaApa yang diabaikan dan mengapa
*.o*.obj*.ko*.elf*.dFile objek dan dependensiHasil kompilasi untuk setiap file sumber (.o, .obj), modul kernel (.ko), biner ELF, dan daftar dependensi header (.d) yang dibuat compiler.
*.gch*.pchHeader yang dikompilasi sebelumnyaPrecompiled header GCC dan MSVC. Terikat pada versi dan opsi compiler sehingga tidak bisa dipakai di lingkungan lain.
*.lib*.a*.la*.lo*.dll*.so*.so.**.dylibPustakaPustaka statis (.a, .lib), file libtool (.la, .lo), dan pustaka bersama. *.so.* menangkap nama berversi seperti libfoo.so.1.2.
*.exe*.out*.app*.i*86*.x86_64*.hexFile eksekusiHasil linking dan image HEX untuk mikrokontroler. a.out juga tertangkap oleh *.out.
*.dSYM/*.su*.idb*.pdb*.dwoInformasi debugBundel simbol macOS, hasil GCC -fstack-usage (.su), basis data debug MSVC, dan DWARF terpisah (.dwo).
*.mod**.cmd.tmp_versions/modules.orderModule.symversMkfile.olddkms.confBuild modul kernel LinuxFile yang ditinggalkan sistem build kernel (kbuild) saat membuat modul. Jika tidak mengembangkan driver, hampir tidak akan ditemui.
*.ilk*.map*.expProduk sampingan linkerFile incremental link MSVC, peta linker, dan file ekspor.

Hal yang perlu diperhatikan dalam praktik

Template asli

C.gitignore36 baris aturan
# 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

Sumber template: github/gitignore/C.gitignore @356fd7b (2026-09-11) · CC0-1.0

Template yang sering dipakai bersama

Penjelasan template lainnya