2010-02-21 6 views
6

मैं एक डिवाइस लाइब्रेरी के कार्यान्वयन को देख रहा हूं जो स्पष्ट रूप से मेरे ऑपरेटिंग सिस्टम का समर्थन नहीं करता है। विशेष रूप से, मेरे पास एक अलग डीएलएल है, और सहायक स्रोत कोड की उचित मात्रा है। अब, फ़ंक्शन टेबल/निर्यात तालिका कैसे संरचित है?एक डीएलएल के भीतर, फ़ंक्शन टेबल कैसे संरचित किया जाता है?

मेरी समझ यह है कि .data अनुभाग की पहली संरचना आरवीए की एक तालिका है। अगला इंडेक्स द्वारा लिंक की गई तारों की एक तालिका है जो पहली पता तालिका में है। यह मुझे समझ में आता है, क्योंकि एक लिंकर प्रतीकों और पतों के बीच अनुवाद कर सकता है।

इस चित्र में नियमों के अनुसार संदर्भित फ़ंक्शन कैसे कार्य करते हैं? कोई कैसे जानता है कि किस फ़ंक्शन में ऐसा और असामान्य संख्या है, और लिंकर इसे कैसे हल करता है? दूसरे शब्दों में, दिया गया है कि कुछ अन्य डीएलएल आयात SOME_LIBRARY_ordinal_7, लिंकर कैसे काम करता है कि किस कार्य के साथ काम करना है?

धन्यवाद, सब!

संपादित अधिक जानकारी ...

इम FTDI पुस्तकालयों के साथ काम है, और हल करने के लिए जो समारोह लागू की जा रही है चाहते हैं। विशेष रूप से, मैं की तरह कुछ देखें:

extern FTD2XX_Ordinal_28: near

मैं कैसे निर्धारण जो समारोह संदर्भित किया जा रहा है के बारे में जाना हो सकता है, और कैसे लिंकर इस करता है?

उत्तर

3

कैसे linkers और लोडर, विंडोज पर काम करता है जानने के लिए शायद सबसे सुलभ जानकारी मैट पिएट्रेक किया कॉलम का समूह से आता है एक दशक पहले की तुलना में अधिक:

और सबसे बड़ा और सबसे अच्छा एक:

+0

और 2002: http://msdn.microsoft.com/en-us/magazine/cc301805 –

संबंधित मुद्दे