ce este fișierul .d după construirea cu make (Programare, Linux, Construi, Makefile)

jaeyong a intrebat.

Uneori, găsesc .d pentru un anumit fișier sursă.De exemplu, dacă compilez fișiere test.cobțin

test.d, test.o

Înțeleg că test.o este fișierul obiect, dar nu am nici o idee despre ce este test.d pentru.Ați putea să îmi dați vreun indiciu sau indicații?

1 răspunsuri
MadScientist

Multe sisteme de construcție adaugă detectate automat make automat în fișierul .d fișier. În special, pentru fișierele sursă C/C++, acestea determină ce #include fișiere sunt necesare și generează automat aceste informații în fișierul .d fișier.

Site-ul .d sunt apoi incluse de către aplicația makefile so make este conștient de aceste informații. Dacă vă uitați la conținutul acelor fișiere, acestea vor face declarații prealabile, cum ar fi:

foo.o : foo.h bar.h biz.h

etc.

Comentarii

  • Există o modalitate mai bună de a calcula și de a defini dependențele decât să aglomerați directorul cu fișiere .d? –  > Por liv2hak.
  • Mulți oameni își configurează makefile-urile pentru a scrie .d fișiere într-un subdirectoriu pentru a nu aglomera directorul curent. –  > Por MadScientist.
  • Acesta ar fi un lucru foarte util pentru mine.cum pot face asta? –  > Por liv2hak.
  • Comentariile unei întrebări SO nu sunt locul potrivit pentru a o discuta. Nu este greu: în principiu, oriunde scrie makefile-ul dvs. actual în $*.d tu scrii la .deps/$*.d sau orice altceva în loc. Dacă nu vă puteți da seama, puteți pune o nouă întrebare, arătând conținutul makefile-ului dvs. actual care generează dependențe, apoi cineva vă poate ajuta să îl modificați pentru a scrie într-un subdirector. De asemenea, puteți citi make.mad-scientist.net/papers/… –  > Por MadScientist.
  • Cum se utilizează fișierele .d dintr-o rețetă pentru a genera obiecte? –  > Por MarcusJ.