9
votes

Différence entre API et DLL

J'aimerais connaître les différences exactes entre API et DLL. Merci.


2 commentaires

Oui sont-elles des fonctions simplement?


Hey imahan, s'il vous plaît voir ma réponse mise à jour.


10 Réponses :


5
votes

une interface de programmation d'application (API) est une interface implémentée par un logiciel qui lui permet d'interagir avec d'autres logiciels. Il facilite l'interaction entre différents logiciels similaires à la manière dont l'interface utilisateur facilite l'interaction entre les humains et les ordinateurs. - Wikipedia

une bibliothèque de liaison dynamique (DLL) est une façon de fournir une API. (Interface pour le programmateur) Vous pouvez avoir diverses autres méthodes, telles que les services Web.



2
votes

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.


2 commentaires

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é API. Voir ma réponse mise à jour.



2
votes

DLL = bibliothèque dynamique de liaison

API = interface de programmation d'application

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.


0 commentaires

19
votes

À 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.

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.

Une DLL est un format de fichier sur Windows contenant du code exécutable comme moyen de modulariser des applications.


4 commentaires

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.



0
votes

2 commentaires

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 Sound API dans Windows, vous devrez utiliser l'API implémentées trouvée dans la bibliothèque mmsystem.dll autre que vous appelez une méthode squelette.



6
votes

Une DLL est une bibliothèque de code et API est une interface avec une bibliothèque de code.


0 commentaires

0
votes

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


0 commentaires

1
votes

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.

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).

Les API établissent le développement d'applications indépendamment des implémentations de bibliothèque sous-jacentes.

Exemple:

Si vous écrivez un programme en C pour imprimer "Hello World". Et si vous courez le même programme sous Windows et Linux.

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.

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".


0 commentaires

0
votes

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


0 commentaires

0
votes

une réponse simplifiée.

API 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.

dll 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).


0 commentaires