aspose.info
HI

आरईएल - स्थानांतरित करने योग्य मॉड्यूल फ़ाइल

अपडेट किया गया

एक आरईएल फाइल क्या है?

.rel एक्सटेंशन वाली फाइल का इस्तेमाल कई तरह के उद्देश्यों के लिए किया जा सकता है। इसलिए, गेम वर्गीकरण के संदर्भ में इसे कुछ निंटेंडो Wii गेम, जैसे विवाद, सुपर स्मैश ब्रोस और मारियो कार्ट Wii द्वारा उपयोग की जाने वाली एक स्थानांतरित करने योग्य मॉड्यूल फ़ाइल के रूप में जाना जाता है। इसमें गेमप्ले डेटा शामिल है, जिसमें चरित्र मॉडल और चरण शामिल हैं। REL फ़ाइलें Microsoft Windows द्वारा उपयोग की जाने वाली .DLL फ़ाइलों के समान कार्य करती हैं।

आरईएल फ़ाइल प्रारूप

एक आरईएल फ़ाइल प्रारूप में, फ़ाइल को कई वर्गों में विभाजित किया जाता है, जैसे एक्सेस द्वारा समूहीकृत किया जाता है, उदाहरण के लिए केवल एक सेक्शन में डेटा पढ़ें, सभी निष्पादन योग्य कोड दूसरे में रखे जाते हैं, आदि। फ़ाइल हेडर सेक्शन से शुरू होती है, इसके बाद:

  • अनुभाग जानकारी युक्त तालिका।
  • अनुभाग डेटा।
  • स्थानांतरण की जानकारी।

फाइल हेडर

फ़ाइल 0x4C बाइट्स तक के हेडर से शुरू होती है:

ऑफसेटआकारक्षेत्र का नामविवरण
0x004आईडीमनमाना पहचान संख्या। किसी गेम द्वारा उपयोग किए जाने वाले सभी आरईएल के बीच अद्वितीय होना चाहिए। 0 नहीं होना चाहिए
0x044अगलाअगले मॉड्यूल के लिए सूचक, रनटाइम पर भरा हुआ।
0x084पिछलापिछले मॉड्यूल के लिए सूचक, रनटाइम पर भरा हुआ।
0x0c4numSectionsफ़ाइल में अनुभागों की संख्या।
0x104सेक्शनइन्फो ऑफसेटअनुभाग तालिका की शुरुआत में ऑफसेट।
0x144नाम ऑफसेटमॉड्यूल के नाम वाले ASCII स्ट्रिंग को ऑफ़सेट करें। न्यूल हो सकता है। आरईएल फ़ाइल की शुरुआत के सापेक्ष।
0x184नाम आकारबाइट्स में मॉड्यूल नाम का आकार।
0x1c4संस्करणआरईएल फ़ाइल स्वरूप की संस्करण संख्या।
0x204बीएसएस आकार‘.bss’ अनुभाग का आकार।
0x244relOffsetस्थानांतरण तालिका में ऑफसेट।
0x284इम्ऑफ़सेटछोटा सा भूत तालिका में ऑफसेट।
0x2c4छोटा आकारबाइट्स में छोटा सा भूत तालिका का आकार।
0x301प्रोलॉगसेक्शनअनुभाग तालिका में अनुक्रमणिका जो प्रोलॉग के सापेक्ष है। छोड़ें यदि यह फ़ील्ड 0 है।
0x311एपिलॉगसेक्शनअनुभाग तालिका में अनुक्रमित करें जो एपिलॉग के सापेक्ष है। छोड़ें यदि यह फ़ील्ड 0 है।
0x321अनसुलझाअनुभागअनुभाग तालिका में अनुक्रमणिका जो अनसुलझी है, सापेक्ष है। छोड़ें यदि यह फ़ील्ड 0 है।
0x331बीएसएससेक्शनअनुभाग तालिका में सूचकांक जो बीएसएस के सापेक्ष है। रनटाइम पर भरा!
0x344प्रस्तावना_prolog फ़ंक्शन के निर्दिष्ट अनुभाग में ऑफ़सेट करें।
0x384उपसंहार_epilog फ़ंक्शन के निर्दिष्ट अनुभाग में ऑफ़सेट करें।
0x3c4अनसुलझे_unresolved फ़ंक्शन के निर्दिष्ट अनुभाग में ऑफ़सेट करें।
0x404संरेखित करेंसंस्करण 2 ही। सभी वर्गों पर संरेखण बाधा, 2 की शक्ति के रूप में व्यक्त की गई
0x444bssAlignसंस्करण 2 ही। 2 की शक्ति के रूप में व्यक्त सभी ‘.bss’ अनुभाग पर संरेखण बाधा
0x484फिक्ससाइजसंस्करण 3 ही। यदि REL को OSLinkFixed (OSLink के बजाय) के साथ जोड़ा जाता है, तो इस पते के बाद के स्थान का उपयोग अन्य उद्देश्यों (जैसे BSS) के लिए किया जा सकता है।

अनुभाग जानकारी तालिका

अनुभाग जानकारी तालिका में प्रत्येक 0x8 बाइट लंबी numSections प्रविष्टियां होती हैं:

ऑफसेटआकारविवरण
0x030 बिट्सआरईएल की शुरुआत से अनुभाग तक ऑफसेट। यदि यह शून्य है, तो अनुभाग एक आरंभिक खंड (अर्थात .bss) है।
0x3.61 बिटअनजान।
0x3.71 बिटनिष्पादन योग्य ध्वज; यदि यह 1 है तो अनुभाग निष्पादन योग्य है।
0x44खंड के बाइट्स में लंबाई। यदि यह शून्य है, तो यह प्रविष्टि छोड़ दी जाती है।
0x8अगली प्रविष्टिअगली प्रविष्टि

स्थानांतरण डेटा

स्थानांतरण डेटा 0x8 बाइट संरचनाओं की एक या अधिक सूची है। प्रत्येक सूची के अंत को विशेष प्रकार के कोड 203 द्वारा चिह्नित किया जाता है:

ऑफसेटनामआकारविवरण
0x0ऑफसेट2पिछले स्थानांतरण से इस तक बाइट्स में ऑफ़सेट करें। यदि यह अनुभाग में पहला स्थानांतरण है, तो यह अनुभाग प्रारंभ के सापेक्ष है।
0x2टाइप1स्थानांतरण प्रकार। नीचे वर्णित।
0x3खंड1प्रतीक का वह भाग जिसके विरुद्ध स्थानांतरित किया जाना है। विशेष स्थानांतरण प्रकार 202 के लिए, यह इसके बजाय इस फ़ाइल में उस अनुभाग की संख्या है जिस पर निम्नलिखित स्थानांतरण प्रविष्टियाँ लागू होती हैं।
0x4जोड़ें4इसके खंड की शुरुआत के सापेक्ष, इसके खिलाफ स्थानांतरित करने के लिए प्रतीक के बाइट्स में ऑफसेट। यह main.dol के खिलाफ स्थानांतरण के बजाय एक पूर्ण पता है।
0x8अगली प्रविष्टिअगली प्रविष्टिअगली प्रविष्टि

संदर्भ

यह भी देखें