J'aimerais connaître les différences exactes entre API et DLL. Merci. P>
10 Réponses :
Donc, ma prochaine question est la suivante: Les API contenaient-elles dans une DLL? C'est en d'autres termes, les API sont-elles simplement des fonctions qui peuvent être appelées?
Eh bien, c'est un exemple. Cela vient de l'API SharePoint. MSDN.MicRosoft.com/en-us/Library/... < / a> Vous pouvez voir la plupart des méthodes prenant en charge le programmeur (il s'agit donc d'une interface de programmeur). Mais cela est livré sous forme de fichier DLL. Je veux dire que toutes les API doivent être présentées (livrées) à l'utilisateur dans un format. Une dll est un format pour le faire :)
@Mahan: Vous manquez le point principal: API est un terme abstrait i>. La DLL est un format de fichier technique concret.
@ Michael - bonne explication. :)
mises à jour: DLL (la bibliothèque de liaison dynamique) est un composant de code (quelques-uns comme les haricots en Java). Les DLL contiennent les méthodes ou fonctions ou routines ou tout ce que vous appelez ces fragments de code. Et une API est une interface entre une application et cette DLL. La plupart des DLL de temps sont utilisés pour fournir des services à d'autres applications, ces DLL sont appelés DLL serveur et si une DLL demande un service à l'aide de l'appel de l'API ou de son invocation dynamique, il est dit que la DLL cliente. Si simple pensez-vous, les API ne sont que les méthodes ou fonctions accessibles de l'extérieur de cette DLL. J'espère que vous avez eu l'idée maintenant. P>
Bien sûr, je peux parcourir Wikipedia et trouver des réponses, je suis ici parce que je n'ai pas compris ce qui est dit là-bas! Donc, veuillez répondre à mon qusetion, "" Les API contenaient-elles dans une DLL? C'est-à-dire en d'autres termes, les API ne sont que des fonctions qui peuvent être appelées? "" Merci
@imahan, API sont des interfaces, vous ne pouvez pas les utiliser à moins que cela soit implémenté. Donc, la DLL contient implémenté code> API. Voir ma réponse mise à jour.
DLL = bibliothèque dynamique de liaison p>
API = interface de programmation d'application p>
Une DLL est juste un fichier sur des systèmes Windows présentant un code de code qui peut être utilisé par d'autres fichiers exécutables. Une API est un moyen d'utiliser une pièce de logiciels ou une bibliothèque logicielle, à utiliser avec un autre. Par exemple, il existe une API de registre Windows qui vous permet d'utiliser le registre, mais le code qui fonctionne lorsque vous utilisez l'API est stocké dans une DLL. P>
À peu près, la seule connexion entre les deux termes est que si vous faites une programmation de Windows natif, les API que vous utilisez ou écrivez habituellement manifestent en tant que fichiers DLL. Mais ce n'est pas non plus ce que la seule forme concrète une API peut prendre, pas plus que chaque DLL ne représente une API. P>
API signifie "Interface de programmation d'application" - C'est un terme abstrait pour une collection d'entités de code (fonctions, classes, etc. - dépend du langage de programmation) destiné à être utilisé par les programmeurs en général pour accéder aux fonctionnalités d'un Application ou bibliothèque. P>
Une DLL est un format de fichier sur Windows contenant du code exécutable comme moyen de modulariser des applications. P>
C'est une bonne réponse! Merci beaucoup :)
Donc, un de plus de doute, les API sont contenues dans les DLL, est-ce correct ?? Les API sont simplement des fonctions qui peuvent être appelées par des processus utilisateur, qu'en est-il?
@imahan: Encore une fois: API est un terme abstrait. Si vous effectuez une programmation Windows en C puis sur Oui, vos API seront généralement des fonctions dans les fichiers DLL. Si vous faites la programmation Java, les API sont des classes contenues dans les fichiers JAR. La plupart des plates-formes ont leurs propres mécanismes.
C'est la meilleure réponse imo. Il convient de noter que les API peuvent également être utilisées comme ligne directrice pour les exécutants de la bibliothèque de code, non seulement pour les clients. cf. Mono comme une autre bibliothèque de classe .NET Framework. Même API, diff. la mise en oeuvre.
Vous devrez être spécifique. DLL peut représenter: p>
Une API (interface de programmation d'application) est une interface mise en œuvre par des logiciels pour interagir avec d'autres logiciels de sot. Par exemple. L'API JDBC est nécessaire si une connexion de base de données est requise en Java. P>
de Wikipedia: P>
Une API est mise en œuvre par des applications, bibliothèques et systèmes d'exploitation à déterminer leurs vocabulaires et appelant des conventions et est utilisé pour accéder à leurs services. P> blockQuote>
Le but d'une DLL (des bibliothèques dynamiques offrent presque toujours une forme de partage, permettant ainsi à la même bibliothèque d'être utilisée par plusieurs programmes en même temps). En substance, le
winapi code> (Windows API) est tous implémenté dans les fichiers DLL, tels que
mmsystem.dll code> pour mmsystem Sound API. P>
Références: P>
Les API sont donc des fonctions pouvant être appelées et des API résident également à l'intérieur d'une DLL, est-ce correct ??
@imahan, oui ... API sont "squelettiques" (faute de mots de meilleure qualité), que la mise en œuvre est trouvée dans une DLL. Si vous souhaitez utiliser le MMYSTEM CODE> Sound API dans Windows, vous devrez utiliser l'API implémentées trouvée dans la bibliothèque
mmsystem.dll code> autre que vous appelez une méthode squelette.
Une DLL est une bibliothèque de code et API est une interface avec une bibliothèque de code. P>
Une API est une interface pour la communication de différentes composantes d'une application, où DLL est un fichier de bibliothèque qui contient du code de sorte que votre programme puisse utiliser votre API P>
API sont les fichiers d'en-tête (.h) qui contiennent des déclarations de fonction et de classe (paramètres d'entrée et de sortie), la mise en œuvre de ces définitions de la classe ou des fonctions sera en particulier des DLL. p>
mais pour connecter (reliant dynamique) ces deux fichiers .h et .dll, vous avez besoin de fichiers .LIB, ces fichiers résoudront l'adresse de la définition de fonction pendant l'exécution et que les fichiers DLL particuliers sont chargés. Par conséquent, les bibliothèques contiennent des fichiers (APIS (.H), LIB et DLL). p>
Les API établissent le développement d'applications indépendamment des implémentations de bibliothèque sous-jacentes. p>
Exemple: em> strong> p>
Si vous écrivez un programme en C pour imprimer "Hello World". Et si vous courez le
même programme sous Windows et Linux. P>
blockQuote>
Ces deux exécutables utiliseront les différentes bibliothèques système pour l'afficher à l'écran, car c language fournit des API comme "stdio.h", "stdlib.h", vous n'avez pas besoin de vous soucier des implémentations de la bibliothèque sous-jacente. p>
Vous pouvez donc penser, API comme fichiers d'en-tête, qui connectent des déclarations de fonction / de classe avec des définitions de fonction / de classe. Par conséquent, le nom "Interface de programme d'application". p>
Chaque dll a une interface (API) (API) (API) car sinon, il serait inutile, mais toutes les API ne sont pas une DLL, comme par exemple, vous pouvez avoir une API Web où vous utilisez des points d'extrémité distants à l'aide du protocole HTTP - pas même un fichier comme dans l'affaire DLL p>
une réponse simplifiée. P>
API code> est toujours (par définition) une interface de programmation d'application. C'est une collection de méthodes pouvant être utilisées comme une interface avec une application, un service Web, etc. p>
dll code> est un fichier de bibliothèque partagé du même format que celui exécutable. Il contient du code et des données à partager entre d'autres exes afin que vous n'ayez pas à les recompiler à chaque fois qu'une DLL est mise à jour. Les DLL, par exemple, vous permettent de mettre à niveau les versions Windows et de conserver les applications exécutées sur la dernière version. Il peut contenir du code réutilisable par un ou plusieurs exécutables, comme une API. L'un d'autre part, il ne peut contenir que des données, telles que des icônes (.icl) et des polices (.fon). P>
Oui sont-elles des fonctions simplement?
Hey imahan, s'il vous plaît voir ma réponse mise à jour.