Bonjour à tous,
j'ai toujours pas compris que singnifie "wrapper" , "wrapper pkcs#11", "wrapper c++" ... etc
merci de votre aide
Bonjour à tous,
j'ai toujours pas compris que singnifie "wrapper" , "wrapper pkcs#11", "wrapper c++" ... etc
merci de votre aide
du verbe Anglais to wrap qui signifie envelopper, le wrapper va envelopper quelque chose, après ça dépend du contexte. Souvent on peut faire un wrapper C++ autour d'une bibliothèque écrite en C, dans ce cas le wrapper peut être une classe.
On peut aussi envelopper une API pour la rendre plus simple (faire une meilleure abstraction)
wrapper C++ c'est une classe qui utilise une bibliothèque C ? c'est bien cela ?
Pas spécialement.
Un Wrappper, c'est une classe qui englobe une autre classe pour lui ajouter de nouvelles fonctionnalités.
Par exemple en Java, Boolean est un Wrapper de boolean, Boolean est une classe java qui contient un boolean, et qui permet de réaliser des opérations plus évoluées sur ce boolean.![]()
Pas forcément.
Par contre, "wrapper C++ d'une bibliothèque C" veut dire ça.
Ça signifie par exemple que les pointeurs retournés par les APIs C sont encapsulés dans des objets C++ dont le destructeur appelle la fonction de nettoyage...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Un wrapper est aussi une interface de "traduction" entre une entité et une autre, cela vient du terme de câblage wrapping.
En ce sens, on "câble" logiciellement des fonctions d'une entité (ex : librairie C) vers une autre entité (ex : environnement Java). Il existe des wrappers automatiques comme Swig, par exemple, et des wrappers spécifiques (encapsulations partielles, interfaces de pont, etc.). Pour les encapsulations, on utilise en général d'autres termes, souvent boxing d'ailleurs, qui décrivent mieux le concept "d'emballage" d'un élément relativement "primitif".
On utilise aussi le terme bridge (pont) pour les interfaces découplées de leur implémentation, et servant principalement (mais pas exclusivement) au transfert de données entre deux entités logicielles.
Le terme "wrapper" est quand même plus réservé à cette notion de "câblage logiciel" (adaptateur) entre deux entités normalement disjointes.
Dans ce sens, des logiciels comme Cygwin, Wine, ou les défunts drivers de conversion Glide<->OpenGL<->DirectX sont également des wrappers : ils convertissent des appels d'un "univers" informatique vers un autre.
Une librairie d'abstraction logicielle (ex : librairie de communication) serait plutôt un "bridge", tandis que des librairies d'encapsulation (ex : encapsulation C++ d'une API basique type "pthread") sont plutôt des "box".
A noter qu'il existe aussi des librairies qui sont un peu tout à la fois : par exemple, une librairie comme ACE est à la fois un wrapper, une box et un bridge, suivant de quel côté on la regarde...![]()
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Merci pour toutes ces réponses. Ca m'a bien eclairé. Toute autre explication est la bienvenue.
Partager