Jeśli kompiluję program za pomocą gcc i próbuję go uruchomić z powłoki bash, jaka jest dokładna sekwencja kroków, po których następuje bash, aby go wykonać?
Wiem fork(), execve(), loader, dynamic linker(i inne rzeczy) są zaangażowane, ale może ktoś podać dokładną sekwencję kroków i trochę odpowiedniego odniesienia do czytania?
Edytować:
Z odpowiedzi wynika, że pytanie może sugerować wiele możliwości. Chcę zawęzić do prostej sprawy:
(test.c po prostu drukuje hello world)
$ gcc test.c -o test
$ ./test
Jakie będą kroki w powyższym przypadku ( ./test), szczególnie związane z uruchomieniem programu bash w niektórych procesach potomnych, ładowaniem, łączeniem itp.?