Ищите встраиваемый язык сценариев для C ++ с поддержкой 64-битных систем и кроссплатформенностью - PullRequest
5 голосов
/ 22 июля 2010

Я ищу язык сценариев, который работает на 32-разрядных и 64-разрядных компьютерах, а также в Windows и Linux.Я буду встраивать его в приложение C ++, поэтому я предпочитаю, чтобы он был написан на C ++, а не на C. Я также предпочел бы, чтобы скрипт имел поддержку потоков / асинхронности.

До сих пор я рассматривал следующие языки: GameMonkey, Lua и V8 JavaScript Engine.На данный момент JavaScript наиболее востребован.Я действительно не хочу использовать GameMonkey, потому что AFAIK не поддерживает 64-битную адресацию.Lua написан на C, так что я бы, вероятно, использовал оболочку C ++, но мне действительно не нравится смешивать код C и C ++.

Так есть ли другие альтернативы, на которые я мог бы взглянуть?

Ответы [ 5 ]

6 голосов
/ 22 июля 2010

Я лично предпочитаю Lua другим. Возможно, потому что он используется WoW, и я делаю свои собственные настройки для дополнений WoW. Но я видел много хороших мнений, даже на SO.

4 голосов
/ 22 июля 2010

Я говорю, Луа.Он ультрапортативный (он работает даже под PalmOS, WindowsCE и DOS!), Маленький (200-300 КБ), быстрый, и его очень легко связать с C / C ++.

Кроме того, Майкл Полл добился удивительного прогресса в реализации LUA JIT.Его текущая бета-4 поддерживает джитинг x86 и x86_64 и бьет дерьмо практически на всех языках, которые я знаю: http://luajit.org/

3 голосов
/ 22 июля 2010

Возможно Сокол , ChaiScript , IO или даже AngelScript может соответствовать вашим требованиям?

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

Вы также можете использовать Белка , это C ++, с синтаксисом, подобным C / Java, с поддержкой ОО (даже наследование классов) и многими полезными вещами.С точки зрения скорости он не уступает Lua, но размер скомпилированного кода немного больше.

Если вы пишете свою программу на C ++, вы можете предпочесть ее Lua, а синтаксис гораздо привлекательнее (на глаз и на вашу производительность, если вы часто пишете код на C ++).

1 голос
/ 22 июля 2010

Если вы используете qt, вы можете использовать qtscript . В противном случае python может быть хорошей идеей.

...