Встраивание Mono против Google V8? - PullRequest
3 голосов
/ 03 марта 2011

Мы хотим добавить сценарии в проект.

Мы сомневаемся, какой механизм сценариев использовать.Я использовал в прошлом V8, и это довольно впечатляет.Я также использовал Mono, но только в игрушечных проектах или прототипах.

Ограничения:

  1. скорость выполнения.
  2. простая интеграция.
  3. должен работать в Windows.
  4. Поддержка 64-разрядных систем.
  5. компилируется в Visual Studio.

Какой движок подходит лучше всего?

(Есть ли руководство по компиляции Mono под win64 с Visual Studio? Есть ли пакетыкоторые включают в себя файлы Lib и DLL?)

Ответы [ 5 ]

7 голосов
/ 05 марта 2011

Я бы посоветовал вам взглянуть на Lua . Я думаю, что он вполне удовлетворит ваши потребности.

4 голосов
/ 05 марта 2011

Поскольку ответов без голосования нет, я хочу упомянуть ChaiScript (да, я один из создателей проекта). Это механизм сценариев только для заголовков, разработанный исключительно для встраивания в приложения C ++. Он имеет полную 64-битную поддержку и работает с MSVC, G ++ и MinGW. Единственная внешняя зависимость - это повышение.

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

2 голосов
/ 03 марта 2011

В дистрибутив Mono включен файл решения MSVS, этого достаточно для создания библиотеки (но вы не сможете создавать файлы .DLL, лучше выбрать их из бинарного дистрибутива).См. mkbundle, чтобы узнать, как встроить DLL-библиотеки .NET в один двоичный файл.Что касается самого сценария, вы можете либо встроить компилятор Mono C # (он не такой большой, и его легко интегрировать), либо использовать любой из многочисленных языков сценариев, предназначенных для .NET, например IronPython.

2 голосов
/ 03 марта 2011

V8. На самом деле является механизмом сценариев, а не полноценной средой программирования, такой как Mono (которая конкурирует с Java по размеру).

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

0 голосов
/ 03 марта 2011

Python тоже неплох, с Boost.Python .

...