github/gitignore · C.gitignore
شرح قالب .gitignore لـ C
يشرح سبب تجاهل C.gitignore لملفات الكائنات والمكتبات الساكنة والمشتركة والملفات التنفيذية ومعلومات التصحيح وملفات بناء وحدات نواة Linux.
يحجب C.gitignore الملفات الوسيطة والنواتج التي ينشئها المترجم والرابط (linker) بحسب الامتداد. ويضم امتدادات منصات متعددة ليصلح مع gcc أو clang أو MSVC.
لا يتناول ملفات أنظمة البناء مثل Make وCMake. إن كنت تستخدم CMake فارجع إلى قالب CMake أو إلى قالب C++ الذي يتضمن قواعد CMake.
شرح القواعد
| النمط | ما الذي يتجاهله ولماذا |
|---|---|
*.o*.obj*.ko*.elf*.d | ملفات الكائنات والاعتمادياتنتائج الترجمة لكل ملف مصدري (.o و.obj)، ووحدات النواة (.ko)، والملفات الثنائية بصيغة ELF، وقوائم اعتماديات الترويسات التي ينشئها المترجم (.d). |
*.gch*.pch | الترويسات المترجمة مسبقًاالترويسات المترجمة مسبقًا (precompiled header) في GCC وMSVC. ترتبط بإصدار المترجم وخياراته، فلا يمكن استخدامها في بيئة أخرى. |
*.lib*.a*.la*.lo*.dll*.so*.so.**.dylib | المكتباتالمكتبات الساكنة (.a و.lib)، وملفات libtool (.la و.lo)، والمكتبات المشتركة. يلتقط *.so.* الأسماء ذات الإصدارات مثل libfoo.so.1.2. |
*.exe*.out*.app*.i*86*.x86_64*.hex | الملفات التنفيذيةنواتج الربط وصور HEX للمتحكمات الدقيقة. ويطابق *.out أيضًا الملف a.out. |
*.dSYM/*.su*.idb*.pdb*.dwo | معلومات التصحيححزم الرموز في macOS، ونتائج -fstack-usage في GCC (.su)، وقاعدة بيانات التصحيح في MSVC، وملفات DWARF المنفصلة (.dwo). |
*.mod**.cmd.tmp_versions/modules.orderModule.symversMkfile.olddkms.conf | بناء وحدات نواة Linuxملفات يتركها نظام بناء النواة (kbuild) عند إنشاء الوحدات. نادرًا ما تصادفها إن لم تكن تطور برامج تشغيل. |
*.ilk*.map*.exp | مخلفات الرابطملفات الربط التزايدي في MSVC، وخرائط الرابط، وملفات التصدير. |
ملاحظات عملية
- لا يتضمن هذا القالب مجلد البناء (
build/). إن كنت تبني خارج شجرة المصدر (out-of-source) فأضف/build/بنفسك. - يطابق
*.mod*كل امتداد يبدأ بـ.mod، فإن كانت لديك ملفات.modلأغراض أخرى (مثل ملفات البيانات) فأضف استثناءً. - إذا لزم الاحتفاظ بملفات
.hexالمخصصة للنشر في مستودع برامج ثابتة (firmware)، فأعد تضمين مسار محدد فقط مثل!release/*.hex.
القالب الأصلي
C.gitignore
# 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
مصدر القوالب: github/gitignore/C.gitignore @356fd7b (2026-09-11) · CC0-1.0