开发者

Looking for an embeddable scripting language for C++ with 64-bit support and Cross Platform

开发者 https://www.devze.com 2023-01-08 03:44 出处:网络
I\'m looking for a scripting language that works on 32-bit and 64-bit machines as well as on Windows and Linux. I will be embedding it into a C++ application so I prefer it to be natively written in C

I'm looking for a scripting language that works on 32-bit and 64-bit machines as well as on Windows and Linux. I will be embedding it into a C++ application so I prefer it to be natively written in C++ rather than C. I also would prefer the script to have thread/asynchronous support.

So far the languages that I have looked at are GameMonkey, Lua, and V8 JavaScript Engine. V8 JavaScript has the most appeal so far. I don't really want to use GameMonkey because AFAIK it doesn't support 64-bit addressing. Lua is wr开发者_JAVA百科itten in C so I would probably use the C++ wrapper, but I really don't like mixing C and C++ code.

So are there some other alternatives that I could look at?


I personally prefer Lua over others. Maybe because it's used by WoW and I do my own tweaks for WoW addons. But I've seen many opinions that is good, even on SO.


I say Lua. It's ultraportable (It even runs under PalmOS, WindowsCE and DOS!), small (200-300k), fast and it is very easy to interface it with C/C++.

Also, Michael Pall makes amazing progress with his LUA JIT implementation. His current beta-4 supports x86 and x86_64 jitting and beats the crap out of almost every interpreter language I know: http://luajit.org/


Maybe Falcon, ChaiScript, IO or even AngelScript might match your requirements?


You could also use Squirrel, it is C++, with a C/Java-like syntax, supporting OO (even class inheritance) and many neat things. It is in par with Lua in terms of speed, but the code size once compiled is slightly bigger.

If you are writing your program in C++ you might prefer it over Lua, and the syntax is much more appealing (to the eye and your productivity if you are writing C++ code often).


If you use qt you could use qtscript. Otherwise python might be a good idea.

0

精彩评论

暂无评论...
验证码 换一张
取 消