मैंने ELF फ़ाइल प्रारूप को समझने की कोशिश करने के लिए gcc के साथ एक छोटा C प्रोग्राम (कोड की 2 लाइनें) संकलित किया। readelf -h
ऑब्जेक्ट फ़ाइल पर कर , मैं शीर्ष लेख में है:
OS/ABI: UNIX - System V
मैं फेडोरा का उपयोग कर रहा हूं, तो इसके बजाय लिनक्स क्यों नहीं है?
संपादित करें : मैंने संकलित किया
int main(){
int x = 0;
x++;
}
के साथ gcc -o main.o -c main.c
। मेरा gcc संस्करण है
gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
मैंने अपने अनुसार प्रश्न संपादित किया है।
—
अलेक्स_राइडर
मैंने सिर्फ
—
ctrl-alt-delor
readelf -h /bin/ls
डेबियन गनु / लिनक्स पर किया। यह भी दिखाया OS/ABI: UNIX - System V
। मेरा अनुमान है कि ABI एक से अधिक कर्नेल पर प्रयोग किया जाता है, न कि केवल linux पर। मुझे यह भी पता है कि linux एक से अधिक ABI का समर्थन करता है।
विकिपीडिया का कहना है कि [ELF हेडर में OSABI फ़ील्ड] अक्सर लक्ष्य प्लेटफॉर्म की परवाह किए बिना 0 [SysV] पर सेट होता है
—
स्टीफन चेज़लस
यह फ़ील्ड बताती है कि यदि ELF फ़ाइल किसी OS विशिष्ट एक्सटेंशन का उपयोग कर रही है, तो डिफ़ॉल्ट है 0. अधिक विवरण यहां (EI_OSABI पर)।
—
लीज
gcc --version
और iii) उसका संकलन करने के लिए आपके द्वारा उपयोग की जाने वाली सटीक कमांड।