2010-06-29 11 views
6

En general, se lanzará una biblioteca en un único idioma (por ejemplo, C). Si la biblioteca se desactiva para ser útil, se escribirán muchas envolturas de idioma para esa biblioteca. ¿Cómo exactamente lo hacen?¿Cómo escriben envoltorios de idioma diferentes para la misma biblioteca?

Amablemente alguien arrojó poca luz sobre este tema. Si es demasiado dependiente del idioma, elija el idioma de su elección y explíquelo.

+0

una lectura relacionada: http://stackoverflow.com/questions/636841/how-do-multiple-languages-interact-in-one-project – claws

Respuesta

5

Hay algunas opciones que vienen a la mente:

  • Puerto de la biblioteca original C al lenguaje/plataforma de su elección
  • compilar la librería C en algo (como un archivo DLL) que puede ser invocar desde otros componentes
  • Ponga la biblioteca en la web, exponen una API a través de HTTP y envoltura de que en el cliente

Si quería envolver una biblioteca de C con una capa administrado (.NET), I' d compila e la biblioteca en una DLL, exponiendo las API que quería. Entonces, usaría P/Invoke para llamar a esas API desde mi código C#.

+0

¿Cuál es el equivalente de dominio Java de P/Invoke en .NET – claws

+0

Qué acerca de idiomas interpretados como perl/python/php? – claws

+2

@claws: JNI es el más común. –

Cuestiones relacionadas