2009-08-02 9 views
23

अधिकांश यूनिक्स सी कंपाइलर्स डिफ़ॉल्ट रूप से "a.out" नामक फ़ाइल में निष्पादन योग्य लिंक करते हैं। क्यूं कर? क्या यह एक लिखित मानक है या सिर्फ मानक तथ्य है? क्या होगा यदि इन कंपाइलर्स "a.out" के बजाय एक त्रुटि संदेश (या एक अलग डिफ़ॉल्ट नाम का उपयोग करें) उत्पन्न करेंगे?कुछ कंपाइलर निष्पादन योग्य के लिए डिफ़ॉल्ट नाम के रूप में "a.out" का उपयोग क्यों करते हैं?

+0

आपको एक बेहतर विचार मिला है? :) –

उत्तर

35

a.out असेंबलर आउटपुट के लिए खड़ा है।
मुझे लगता है कि यह मानता है कि अधिकांश कंपाइलरों के पास डिफ़ॉल्ट रूप से यह नाम क्यों है। अधिक जानकारी here

+2

a.out निष्पादन योग्य प्रारूप का नाम भी है। हालांकि एक अच्छा आसान 8.3 फ़ाइल नाम के लिए बनाता है। –

+2

'a.out' एक दशक से अधिक समय के लिए डिफ़ॉल्ट निष्पादन योग्य प्रारूप नहीं रहा है। इन दिनों 'ईएलएफ' (निष्पादन योग्य लिंक करने योग्य प्रारूप) का उपयोग किया जाता है। –

5

एउट वास्तव में यूनिक्स निष्पादन योग्य फ़ाइल प्रारूप का नाम है। (ईएलएफ एक और है)

कंपाइलर उस नाम (परंपरा द्वारा) उत्पन्न करता है यदि आप अपने निष्पादन योग्य नाम को स्पष्ट रूप से नहीं देते हैं।

अगर इन compilers सिर्फ बाहर के बजाय त्रुटि होगा "a.out" का निर्माण क्या टूट जाएगा?

कुछ भी नहीं तोड़ देगा, लेकिन 'त्रुटि आउट' से आपका क्या मतलब है? क्या आपका मतलब है कि संकलन करने से इंकार कर दें जब तक कि लिंकर को निष्पादन योग्य नाम प्रदान नहीं किया जाता?