2010-04-04 21 views
12

पर ईएलएफ फ़ाइलों को लोड/निष्पादित करने की संभावना ओएसएक्स पर एएलएफ फाइलों को लोड करने और निष्पादित करने की संभावना के बारे में मैं उत्सुक हूं। मुझे पता है कि मानक निष्पादन योग्य प्रारूप MACHO है, लेकिन NASM MACHO ऑब्जेक्ट्स के लिए डीबग जानकारी उत्पन्न करने में असमर्थ है (और मुझे NASM का उपयोग करने की आवश्यकता है)। मुझे लगता है कि यह एक लंबा शॉट है, लेकिन मुझे नहीं लगता कि मैं ईएलएफ फाइलों का उपयोग कर सकता हूं। मैं उन्हें NASM के साथ बना सकता हूं, लेकिन मैं उन्हें एलडी से भी लिंक नहीं कर सकता।ओएसएक्स

उत्तर

12

सर्वश्रेष्ठ ओएस एक्स इंटर्नल्स बुक के लेखक में कुछ कोड दिखाए गए हैं कि आप एक अन्य निष्पादन योग्य फ़ाइल प्रारूप here को संभालने के लिए कर्नेल एक्सटेंशन कैसे लिखेंगे। वह दो उदाहरण देता है: Google नेटिव क्लाइंट (NaCl) ईएलएफ अनुप्रयोगों और एपआउट के साथ पीडीपी -11 ऐप्स चलाना।

मुझे यकीन नहीं है कि यह सॉफ्टवेयर कितना परिपक्व है। यह वर्तमान में तेंदुए और बेहतर का समर्थन करता है।

+0

कुछ दिलचस्प खोजने के लिए दिलचस्प ... –

5

अब एक 'ऑब्जेक्ट कनवर्टर' प्रोग्राम है जो कहता है कि यह ईएलएफ फ़ाइलों को MACHO फ़ाइलों में परिवर्तित कर सकता है, साथ ही निष्पादन योग्य और ऑब्जेक्ट/लोडर फ़ाइलों के लिए कई अन्य रूपांतरण भी परिवर्तित कर सकता है। अधिक जानकारी के लिए http://agner.org/optimize/#objconv देखें। कोशिश नहीं की है लेकिन व्यापक दस्तावेज उपलब्ध है।

+0

इसके प्रलेखन से, वह कनवर्ट कर सकता है .o libs, नहीं .so फ़ाइलें – mousomer