Разрешают ли виртуальные машины, такие как LLVM или PARROT, использовать одну и ту же библиотеку из нескольких языков? - PullRequest
5 голосов
/ 01 апреля 2009

Можно ли использовать одну платформу, написанную на одном языке Parrot (LLVM), на любом другом языке Parrot (LLVM)? (Как и использование .NET Framework с любого языка CLR) ...

Ответы [ 2 ]

1 голос
/ 23 декабря 2010

LLVM

обозначает низкоуровневую виртуальную машину. Он использует низкоуровневые коды операций, которые легко отображаются на машинный код.

  • Языки: Fortran, C, C ++
  • Приложения: системное программирование, разработка компиляторов

Попугай :

Это виртуальная машина высокого уровня. Его коды операций намного выше, чем в большинстве виртуальных машин. Это позволяет Parrot генерировать эффективный собственный код для динамических языков.

  • Языки: Ruby, Perl, PHP
  • Приложения: серверные скрипты
1 голос
/ 08 апреля 2009

Parrot и LLVM - это две разные вещи, созданные двумя разными организациями.

Parrot - это виртуальная машина, а LLVM - это виртуальная машина, которая также может статически компилироваться.

Редактировать

Предполагая, что комментарии к моему ответу верны:

  1. LLVM позволяет вам вызывать другой код LLVM, а также внешние C-подобные библиотеки.
  2. Parrot позволяет вам вызывать другой код Parrot, но не внешние C-подобные библиотеки.

http://en.wikipedia.org/wiki/Comparison_of_application_virtual_machines

...