Si je compile un programme à l'aide de gcc et essaie de l'exécuter à partir du shell bash, quelle est la séquence exacte des étapes suivies par bash pour l'exécuter?
Je sais fork()
, execve()
, loader
, dynamic linker
(et autres) sont impliqués, mais quelqu'un peut - il donner une suite exacte des étapes et une référence de lecture appropriée?
Éditer:
D'après les réponses, il semble que la question pourrait impliquer de nombreuses possibilités. Je veux me limiter à un cas simple:
(test.c imprime juste bonjour le monde)
$ gcc test.c -o test
$ ./test
Quelles seront les étapes dans le cas ci-dessus ( ./test
), concernant spécifiquement le démarrage du programme bash dans un processus enfant, le chargement, la liaison, etc.?