Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpiderMonkey vs JavaScriptCore vs? 我有一个C++桌面应用程序(写在WxWIDGET中),我想添加对一些脚本语言的支持。_Javascript_C++_Embedded Language_Spidermonkey - Fatal编程技术网

SpiderMonkey vs JavaScriptCore vs? 我有一个C++桌面应用程序(写在WxWIDGET中),我想添加对一些脚本语言的支持。

SpiderMonkey vs JavaScriptCore vs? 我有一个C++桌面应用程序(写在WxWIDGET中),我想添加对一些脚本语言的支持。,javascript,c++,embedded-language,spidermonkey,Javascript,C++,Embedded Language,Spidermonkey,脚本主要用于通过用户提供的JavaScript代码对字符串、数字和日期进行运行时转换 我喜欢使用JavaScript,因为它被广泛使用,而且每个人都熟悉它的语法 通过谷歌搜索,我似乎有两个选择: 来自Mozilla的SpiderMonkey 来自WebKit的JavaScriptCore 有人试过吗?哪一个更容易设置? 您知道其他更适合我需要的实现吗 顺便说一句,我的目标是Windows和Linux平台。JavaScriptCore有一个稳定的C API(和ABI),并且已经在macos上作

脚本主要用于通过用户提供的JavaScript代码对字符串、数字和日期进行运行时转换

我喜欢使用JavaScript,因为它被广泛使用,而且每个人都熟悉它的语法

通过谷歌搜索,我似乎有两个选择:

  • 来自Mozilla的SpiderMonkey
  • 来自WebKit的JavaScriptCore
有人试过吗?哪一个更容易设置? 您知道其他更适合我需要的实现吗


顺便说一句,我的目标是Windows和Linux平台。

JavaScriptCore有一个稳定的C API(和ABI),并且已经在macos上作为标准系统框架提供(并用作)


[编辑:哦,它作为一个独立的库在linux和windows上工作,尽管我相信只有debian才这样分发它]

当然,你也可以使用它,它不仅是专门为此设计的,而且比任何JS都快得多


此外,它还具有设计良好的语义、极低的核心、简单的C API、极强的可移植性、非常成熟、我所见过的最有用的在线社区等等。

还有谷歌的V8 JavaScript引擎,很好地构建在Linux上,嵌入API似乎也很简单:(与SpiderMonkey相比,从未看过JavaScriptCoreAPI)

我考虑了Lua,但是我想从学习一种新的语言来保存我的应用程序的用户。另一个潜在的问题是缺少处理日期/时间的功能。AFAICT,你只能得到系统时间,这就是全部。但是,我的应用程序需要能够解析字符串输入为日期,然后做“添加3天”之类的事情。“查找两个日期之间的天数差异”等。无论你将哪种语言嵌入到你的应用程序中,你都必须公开一些特殊的API。添加一些日期管理功能只需不到100行Lua即可完成。“无新语言”是一个实实在在的问题,OTOH。“比任何js都快得多”[需要引用]!请链接。@Sean McMillan,不幸的是,好的基准很少。另外,请看日期:JS在过去几年中有了很大的发展。不过,Lua并没有停滞不前,LuaJIT 2.0在许多高性能任务上已经超过了Java,在某些方面(真实的)在大多数情况下,它甚至比大多数C编译器都要好。LuaJIT2大约比V8快4倍。LuaJIT2在大多数情况下几乎接近C级别。