अगर मैं gcc का उपयोग करके किसी प्रोग्राम को संकलित करता हूं, और इसे bash शेल से निष्पादित करने का प्रयास करता हूं, तो इसे निष्पादित करने के लिए bash द्वारा चरणों का सटीक क्रम क्या है?
मैं पता fork()
, execve()
, loader
, dynamic linker
(और अन्य चीजों) शामिल कर रहे हैं, लेकिन किसी को कर सकते हैं चरणों में से एक सही अनुक्रम और कुछ उपयुक्त पढ़ने संदर्भ दे सकता है?
संपादित करें:
जवाब से, ऐसा लगता है कि सवाल कई संभावनाओं को जन्म दे सकता है। मैं एक साधारण मामले को संकुचित करना चाहता हूं:
(test.c सिर्फ हैलो वर्ल्ड प्रिंट करता है)
$ gcc test.c -o test
$ ./test
उपरोक्त मामले में कदम क्या होंगे ( ./test
), विशेष रूप से किसी बच्चे की प्रक्रिया में बैश शुरू करने के कार्यक्रम, लोडिंग, लिंकिंग आदि से संबंधित?