2010-06-29 4 views
6

En général, une bibliothèque sera publiée dans une langue unique (par exemple C). Si la bibliothèque se révèle utile, alors de nombreux wrappers de langue pour cette bibliothèque seront écrits. Comment exactement le font-ils?Comment écrivent-ils différents langages pour la même bibliothèque?

Bien vouloir que quelqu'un jette un peu de lumière sur ce sujet. Si c'est trop dépendant de la langue, choisissez la langue de votre choix et expliquez-la.

+0

une lecture connexe: http://stackoverflow.com/questions/636841/how-do-multiple-languages-interact-in-one-project – claws

Répondre

5

Il y a quelques options qui viennent à l'esprit:

  • Port la bibliothèque d'origine C à la langue/plate-forme de votre choix
  • compiler la bibliothèque C en quelque chose (comme une DLL) qui peut être invoquaient d'autres composants
  • Mettre la bibliothèque sur le Web, exposer une API via HTTP et enroulez que sur le client

Si je voulais envelopper une bibliothèque C avec une couche géré (.NET), je d compil e la bibliothèque dans une DLL, exposant les API que je voulais. Ensuite, j'utiliserais P/Invoke pour appeler ces API à partir de mon code C#.

+0

Quel est l'équivalent de domaine Java de P/Invoke dans .NET – claws

+0

à propos de langages interprétés comme perl/python/php? – claws

+2

@claws: JNI est le plus commun. –

Questions connexes