Wenn ich ein Programm mit gcc kompiliere und versuche, es über die Bash-Shell auszuführen, wie lautet die genaue Reihenfolge der Schritte, gefolgt von Bash, um es auszuführen?
Ich weiß fork(), execve(), loader, dynamic linker(und andere Dinge) beteiligt sind, aber kann jemand eine genaue Abfolge von Schritten und eine geeignete Lesereferenz geben?
Bearbeiten:
Aus den Antworten geht hervor, dass die Frage viele Möglichkeiten implizieren könnte. Ich möchte mich auf einen einfachen Fall beschränken:
(test.c druckt nur Hallo Welt)
$ gcc test.c -o test
$ ./test
Was sind die Schritte im obigen Fall ( ./test), die sich speziell auf das Bash-Startprogramm in einem untergeordneten Prozess beziehen, das Laden, Verknüpfen usw.?