Ist makefile ein fortgeschrittenes Problem oder ein allgemeines Problem für einen Programmierer? Wie oft wird ein C++-Programmierer gebeten werden, eine makefile-Datei zu schreiben?
Antworten
Zu viele Anzeigen?Niemand schreibt jemals ein Makefile. Sie nehmen ein bestehendes Makefile und ändern es.
Seien Sie einfach dankbar, dass Sie sich nicht mit IMakefile herumschlagen müssen. (Für diejenigen unter Ihnen, die das Glück hatten, sich nie damit auseinandersetzen zu müssen, oder die es geschafft haben, es zu vergessen: IMakefile war eine Datei, die eine Art Meta-Makefile für X Window System-basierte Projekte war, die verwendet wurde, um ein Makefile zu erzeugen, das wusste, wo Sie alle Ihre X Windows-Bibliotheken und -Binärdateien installiert hatten. Unnötig zu sagen, dass das scheiße war).
So oft wie er gebeten wird, mit einem brandneuen Projekt zu beginnen, das nicht mit einem bestehenden Projekt vergleichbar ist, dessen Build-Skripte angepasst werden können. Das ist wohl keine gute Antwort, aber nach meiner Erfahrung gab es immer einige Codes/Ressourcen/Build-Skripte, die ich anpassen konnte.
Andererseits ist es für jeden C++-Programmierer wichtig zu wissen, wie sein Code aufgebaut ist. Makefiles, Ant-Skripte usw. sind nur der Implementierungsmechanismus. Ich denke also, dass es wichtig genug ist, das zu lernen.
Programmierer müssen wissen, wie sie ihre Projekte aufbauen können. Meiner Erfahrung nach basiert der "Produktions-Build" in der Regel auf dem Makefile des ursprünglichen Programmierers. Viele Programmierer fummeln ihr ganzes Berufsleben lang blindlings beim Zusammenstellen ihrer Makefiles herum, aber jeder Programmierer muss das tun.
Ich habe Makefiles nie als Problem betrachtet, sie sind recht nützlich...
Die Häufigkeit hängt von der Plattform, die Sie verwenden, und Ihrer Rolle ab.
In einigen Unternehmen gibt es beispielsweise eine relativ feste Build-Datei, die nicht oft geändert wird, während in anderen Unternehmen häufige Änderungen vorgenommen werden. In manchen Unternehmen ist die IDE für den Build zuständig, usw. Sie müssen nicht der Build-Ingenieur sein.
Ich denke, dass die meisten C/C++-Entwickler zumindest ein grundlegendes Verständnis dafür haben sollten, wie Makefiles funktionieren, auch wenn sie keine Gurus sein müssen. An meiner Alma Mater ist das Teil des ersten Jahres in CS.
- See previous answers
- Weitere Antworten anzeigen