2010-12-06 12 views
6

के बीच अंतर मैं एपीआई और डीएलएल के बीच सटीक अंतर जानना चाहता हूं। धन्यवाद।एपीआई और डीएलएल

+0

एपीआई 'winapi' के रूप में है? –

+0

हाँ एपीआई केवल काम करते हैं? – imahan

+0

अरे इमाहन, कृपया मेरा अद्यतन उत्तर देखें। – Mudassir

उत्तर

5

एक एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई) एक सॉफ्टवेयर प्रोग्राम द्वारा कार्यान्वित एक इंटरफ़ेस है जो इसे अन्य सॉफ़्टवेयर के साथ संवाद करने में सक्षम बनाता है। यह विभिन्न सॉफ़्टवेयर प्रोग्राम्स के बीच बातचीत को सुविधाजनक बनाता है जैसे यूजर इंटरफेस इंसानों और कंप्यूटरों के बीच बातचीत को सुविधाजनक बनाता है। - विकिपीडिया

एक डायनामिक लिंक लाइब्रेरी (डीएलएल) एपीआई प्रदान करने का एक तरीका है। (प्रोग्रामर के लिए इंटरफ़ेस) आपके पास वेब सेवाओं जैसी कई अन्य विधियां हो सकती हैं।

+0

तो, मेरा अगला प्रश्न यह है: क्या डीएलएल में एपीआई निहित हैं? यह दूसरे शब्दों में है, क्या एपीआई केवल कार्य हैं जिन्हें बुलाया जा सकता है? – imahan

+1

अच्छा, यह एक उदाहरण है। यह शेयरपॉइंट एपीआई से है। http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.aspx आप प्रोग्रामर का समर्थन करने वाली कई विधियों को देख सकते हैं (इसलिए यह एक प्रोग्रामर इंटरफ़ेस है)। लेकिन यह एक डीएलएल फ़ाइल के रूप में दिया जाता है। मेरा मतलब है कि प्रत्येक एपीआई को कुछ प्रारूप में उपयोगकर्ता को प्रस्तुत किया जाना चाहिए (वितरित)। एक डीएलएल ऐसा करने के लिए एक प्रारूप है :) –

+4

@imahan: आप मुख्य बिंदु खो रहे हैं: एपीआई एक * सार * शब्द है। डीएलएल एक ठोस, तकनीकी फ़ाइल प्रारूप है। –

2

अपडेट: डीएलएल (डायनामिक लिंक लाइब्रेरी) एक कोड घटक है (कुछ जावा में बीन्स की तरह)। डीएलएल में विधियों या कार्यों या दिनचर्या या जो भी आप कोड कोड को बुलाते हैं। और एक एपीआई एक आवेदन और डीएलएल के बीच एक इंटरफ़ेस है। अधिकांश समय डीएलएल का उपयोग अन्य अनुप्रयोगों को सेवाएं प्रदान करने के लिए किया जाता है, इन डीएलएल को सर्वर डीएलएल कहा जाता है और यदि डीएलएल एपीआई कॉल या इसके गतिशील आमंत्रण का उपयोग करके कुछ सेवा का अनुरोध कर रहा है तो इसे क्लाइंट डीएलएल कहा जाता है। इतना आसान सोच, एपीआई कुछ भी नहीं हैं, लेकिन उन डीएलएल के बाहर से उपलब्ध विधियों या कार्यों के अलावा। आशा है कि अब आपको यह विचार मिल गया है।

+0

बेशक मैं विकिपीडिया के माध्यम से ब्राउज़ कर सकता हूं और जवाब ढूंढ सकता हूं, मैं यहां हूं क्योंकि मुझे समझ में नहीं आया कि वहां क्या कहा गया है! तो कृपया मेरे qusetion का जवाब दें, "" क्या डीएलएल में एपीआई निहित हैं? यह दूसरे शब्दों में है, क्या एपीआई केवल फंक्शंस हैं जिन्हें कॉल किया जा सकता है? "" धन्यवाद – imahan

+0

@imahan, एपीआई इंटरफेस हैं, आप इसका उपयोग तब तक नहीं कर सकते जब तक कि इसे लागू नहीं किया जाता है। इसलिए, डीएलएल में 'लागू' एपीआई शामिल हैं। मेरा अद्यतन उत्तर देखें। –

+0

आपको काम करना चाहिए और उन्हें ढूंढना चाहिए! – Sakthivel

1

DLL = गतिशील-लिंक लाइब्रेरी

एपीआई = एप्लीकेशन प्रोग्रामिंग इंटरफेस

एक DLL विंडोज सिस्टम है कि में कुछ कोड अन्य निष्पादन योग्य फ़ाइलों द्वारा इस्तेमाल किया जा सकता है कि पर सिर्फ एक फ़ाइल है। एक एपीआई एक दूसरे के साथ इस्तेमाल करने के लिए सॉफ़्टवेयर के एक टुकड़े, या एक सॉफ्टवेयर लाइब्रेरी का उपयोग करने का एक तरीका है। उदाहरण के लिए एक विंडोज रजिस्ट्री एपीआई है जो आपको रजिस्ट्री का उपयोग करने की अनुमति देती है, लेकिन जब आप API का उपयोग करते हैं तो कोड डीएलएल में संग्रहीत होता है।

14

दो शर्तों के बीच बहुत अधिक एकमात्र कनेक्शन यह है कि यदि आप मूल विंडोज प्रोग्रामिंग करते हैं, तो आप जिन एपीआई का उपयोग करते हैं या लिखते हैं वे आमतौर पर डीएलएल फाइलों के रूप में प्रकट होते हैं। लेकिन न ही यह एकमात्र ठोस रूप है जो एक एपीआई ले सकता है, न ही प्रत्येक डीएलएल एक एपीआई का प्रतिनिधित्व करता है।

एपीआई का अर्थ है "एप्लिकेशन प्रोग्रामिंग इंटरफेस" - यह कोड इकाइयों (कार्यों, कक्षाओं, आदि) के संग्रह के लिए एक सार शब्द है - प्रोग्रामिंग भाषा पर निर्भर करता है) जिसका उद्देश्य प्रोग्रामर द्वारा कार्यक्षमता तक पहुंचने के लिए बड़े पैमाने पर उपयोग किया जाना है एक आवेदन या पुस्तकालय।

एक डीएलएल विंडोज़ पर एक फ़ाइल प्रारूप है जिसमें अनुप्रयोगों को मॉड्यूलर करने के तरीके के रूप में निष्पादन योग्य कोड होता है।

+0

यह एक अच्छा जवाब है! वास्तव में बहुत बहुत धन्यवाद :) – imahan

+0

तो एक और संदेह, एपीआई डीएलएल में निहित हैं, क्या यह सही है ?? एपीआई केवल ऐसे कार्य होते हैं जिन्हें उपयोगकर्ता प्रक्रियाओं द्वारा बुलाया जा सकता है, इसके बारे में क्या? – imahan

+2

@imahan: फिर से: एपीआई एक सार शब्द है। यदि आप सी में विंडोज प्रोग्रामिंग करते हैं तो हाँ, आपके एपीआई आमतौर पर डीएलएल फाइलों में काम करेंगे। यदि आप जावा प्रोग्रामिंग करते हैं, तो एपीआई जेएआर फाइलों में निहित कक्षाएं हैं। अधिकांश प्लेटफार्मों में स्वयं का तंत्र होता है। –

0

आपको विशिष्ट होना होगा। DLL खड़े हो सकते हैं के लिए:

  1. डाटा लिंक परत,
  2. गतिशील लिंक लाइब्रेरी (विंडोज प्लेटफार्म पर साझा लाइब्रेरी)। यह भी संसाधन पुस्तकालय भी हो सकता है।

एक एपीआई (एप्लिकेशन प्रोग्रामिंग इंटरफेस) एक इंटरफ़ेस है जो अन्य सॉफ़्टवेयर के साथ बातचीत करने के लिए सॉफ़्टवेयर प्रोग्राम द्वारा कार्यान्वित किया जाता है। जैसे जावा में डेटाबेस कनेक्शन की आवश्यकता होने पर जेडीबीसी एपीआई की आवश्यकता है।

विकिपीडिया से

:

एक एपीआई अनुप्रयोगों, पुस्तकालयों, और को ऑपरेटिंग सिस्टम के द्वारा कार्यान्वित किया जाता है उनके शब्दावलियों और बुला सम्मेलनों का निर्धारण, और पहुँच उनकी सेवाओं के लिए किया जाता है।

डीएलएल का उद्देश्य (गतिशील पुस्तकालय लगभग हमेशा साझा करने के कुछ रूप प्रदान करते हैं, उसी पुस्तकालय को एक ही समय में कई कार्यक्रमों द्वारा उपयोग करने की इजाजत देता है)। संक्षेप में, WINAPI (विंडोज एपीआई) सभी एमएलएसईएसटीईएम ध्वनि एपीआई के लिए mmsystem.dll जैसे डीएलएल फाइलों में लागू किए गए हैं।

संदर्भ:

+0

इसलिए एपीआई ऐसे कार्य हैं जिन्हें कॉल किया जा सकता है और डीपीएल के अंदर एपीआई भी रहते हैं, क्या यह सही है ?? – imahan

+0

@imahan, हाँ ... एपीआई "कंकाल" (बेहतर शब्द की कमी के लिए) कार्यों हैं, यह कार्यान्वयन एक डीएलएल के अंदर पाया जाता है। यदि आप विंडोज़ में 'MMYSTEM' ध्वनि API का उपयोग करना चाहते हैं, तो आपको' mmsystem.dll' लाइब्रेरी के अंदर पाए गए कार्यान्वित एपीआई का उपयोग करना होगा, अन्यथा आप कंकाल विधि को कॉल कर रहे हैं। –

5

एक DLL कोड का एक पुस्तकालय है, और एपीआई कोड का एक पुस्तकालय के लिए एक इंटरफेस है।