2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
प्रोग्रामविकासे लिङ्करः महत्त्वपूर्णां भूमिकां निर्वहति । लिङ्करः कथं कार्यं करोति, स्थिरलिङ्किंग् तथा डायनामिकलिङ्किङ्ग् इत्येतयोः मध्ये अन्तरं, गतिशीललिङ्क् पुस्तकालयाः कथं निर्मातव्याः, कथं च उपयोक्तव्याः इति विषये गोतां कर्तुं पूर्वं प्रथमं लिङ्करस्य मूलभूतकार्यस्य रूपरेखां कुर्मः
लिङ्करः एकं वा अधिकं वा वस्तुसञ्चिकां पुस्तकालयसञ्चिकां च कार्यान्वयनीयसञ्चिकायां संयोजयितुं उत्तरदायी साधनम् अस्ति । अस्य मुख्यकार्यं भवति- १.
प्रतीकविश्लेषणम् : कार्यक्रमे सर्वाणि चिह्नानि (फंक्शन्-चर-नामानि) चिनोतु, संसाधयन्तु च, प्रत्येकस्य चिह्नस्य अद्वितीयपरिभाषा भवति इति सुनिश्चितं कुर्वन्तु । सन्दर्भितानां किन्तु परिभाषितानां (बाह्यचिह्नानां) चिह्नानां कृते, लिङ्करः प्रदत्तपुस्तकालये अन्येषु वस्तुसञ्चिकायां वा परिभाषां अन्वेषयति ।
पुनः सेट् कुर्वन्तु : प्रत्येकस्मिन् मॉड्यूल् मध्ये कोड्, डाटा एड्रेस् च अन्तिमस्मृति-सङ्केते समायोजयन्तु । स्थानान्तरणं सङ्केते पतासुधारं तथा च दत्तांशखण्डस्य स्थितिसमायोजनं समावेशयति यत् सर्वे सन्दर्भाः सम्यक् स्मृतिस्थानं सूचयन्ति इति सुनिश्चितं भवति ।
खण्डान् विलीनयन्ति: भिन्न-भिन्न-लक्ष्य-सञ्चिकाभ्यः समानप्रकारस्य खण्डान् (यथा कोड-खण्डाः, आँकडा-खण्डाः इत्यादयः) एकस्मिन् निरन्तर-खण्डे विलीनयन्तु ।
प्रसंस्करण पुस्तकालय : प्रोग्राम् द्वारा आवश्यकं पुस्तकालयसङ्केतं वस्तुसञ्चिकायाः सह लिङ्क् कुर्वन्तु । लिङ्करः द्वौ प्रकारौ पुस्तकालयं सम्भालितुं शक्नोति : स्थिरपुस्तकालयाः गतिशीलपुस्तकालयाः च ।
कार्यान्वयनीयसञ्चिकां जनयन्तु: अन्तिमनिर्गमः एकः कार्यान्वयनीयः सञ्चिका अस्ति या प्रचालनतन्त्रे चालयितुं शक्यते ।
स्थिर लिंकिंग तथागतिशील लिङ्किंग ते लिङ्करस्य कार्यविधौ द्वौ स्तः, प्रत्येकस्य भिन्नलक्षणं उपयोगपरिदृश्यं च भवति ।
कल्पना : स्थिरलिङ्किङ्ग् इत्यस्मिन् पुस्तकालयसङ्केतः संकलनसमये प्रतिलिपितः भवति, तस्य उपयोगं कुर्वतः प्रत्येकस्मिन् एक्जीक्यूटिवे एम्बेड् भवति । एवं प्रकारेण, उत्पन्ने कार्यान्वयनीयसञ्चिकायां सर्वे आवश्यकाः कोडाः सन्ति, बाह्यपुस्तकालयसञ्चिकासु न अवलम्बन्ते ।
लाभ:
अभावः:
स्थिर पुस्तकालय विस्तार:
.lib
.a
कल्पना : डायनामिक लिङ्किङ्ग् इत्यस्मिन् पुस्तकालयसङ्केतः रनटाइम् इत्यत्र लोड् भवति तथा च एक्जीक्यूटिव् सञ्चिकायां एम्बेड् न भवति । कार्यान्वयनीयमध्ये केवलं पुस्तकालयानाम् सन्दर्भाः सन्ति, तथा च पुस्तकालयसङ्केतः रनटाइम् इत्यत्र प्रचालनतन्त्रेण लोड् भवति ।
लाभ:
अभावः:
गतिशील पुस्तकालय विस्तार:
.dll
(गतिशील-लिङ्क पुस्तकालय) ..so
(साझा वस्तु) .विभिन्नेषु प्रचालनतन्त्रेषु गतिशीललिङ्कपुस्तकालयस्य निर्माणस्य पद्धतयः किञ्चित् भिन्नाः सन्ति । अत्र केचन सामान्याः सोपानाः आदेशाः च सन्ति ।
पुस्तकालयस्य कोडं लिखन्तु:
वयं गतिशीलपुस्तकालये स्थापयितुम् इच्छामः इति कार्याणि समाविष्टं C स्रोतसञ्चिकां रचयन्तु ।
// example.cpp
#include