APIs de compartilhamento entre diferentes linguagens de programação?

5

Eu estava imaginando como as APIs podem ser compartilhadas entre diferentes linguagens de programação.

Quero dizer, a MS tem .Net que usa o VB.net C # e várias outras tecnologias. Eu duvido. Net é escrito para cada linguagem de programação.
Como as estruturas e classes são compartilhadas entre idiomas?

O mesmo acontece com Unity3D - Javascript compartilha API's com C # e BOO.
Como?

    
por Nathaniel Bennett 22.04.2012 / 20:44
fonte

2 respostas

6

Eles são baseados na Common Language Infrastructure, ou CLI. É basicamente uma máquina virtual onde todas essas linguagens compilam para o mesmo bytecode e leem os assemblies que estão em termos da CLI. Isso fornece uma abstração sobre o idioma de origem e de destino.

    
por 22.04.2012 / 20:49
fonte
1

Existem duas abordagens básicas. Uma é compilar o bytecode da máquina virtual, então você basicamente precisa de um compilador para cada idioma de destino. A outra é criar o que é chamado de "ligação" de linguagem usando uma interface nativa. A maioria das linguagens tem um jeito de linkar com código nativo, então você faz uma implementação em C, por exemplo, então faz uma API wrapper no idioma de destino que traduz as chamadas e estruturas de dados para a API C.

    
por 23.04.2012 / 00:28
fonte

Tags