C/C++的脚本语言?
是否有C++(如perl)的脚本语言,可用于快速开发并使用一些可转换为C/C++程序的工具以获得更高的部署性能?C/C++的脚本语言?
编辑:
基于一些评论,让我澄清这个问题。我应该能够将脚本转换为C/C++程序或二进制文件,而无需修改脚本。
对于C/C++解释器,你可以使用C/C++作为脚本语言
-
章:http://www.softintegration.com/
Commmercial C /具有免费标准版的C++解释器。支持各种流行的库和窗口工具包。
-
CINT:http://root.cern.ch/drupal/content/cint
积极地开发开源(MIT许可证)C/C++解释。作为ROOT environmentCERN的一部分开发。被许多物理学家使用。
-
CCONS:http://code.google.com/p/ccons/
其采用LLVM一种交互式。c控制台和其新的C前端(铛)。正在积极开发
-
UnderC:http://home.mweb.co.za/sd/sdonovan/underc.html
的开放源代码(LGPL)C++解释。似乎有点过时(2002)。
注:到目前为止,我已经试过只章和CINT。我已添加ccons和UnderC以使列表更加完整。
这些链接非常非常有趣,感谢与我们分享!我认为实际上并没有创建C++脚本的可能:) – MaciekTalaska 2009-10-03 15:50:13
还有一个:** SCC **:http://volnitsky.com/project/scc/ – 2012-07-24 08:25:40
什么是“C/C++”?这些解释器是否支持C或C++或两者? – 2013-07-23 18:40:16
GML:www.yoyogames.com
你可能会尝试Lua经常与游戏行业的C++一起使用。它有一个小的内存足迹,已经相当成熟,有一个很棒的图书馆......只是试试看。
hm ...我不明白你想达到什么目的:你想找到一种脚本语言,它会以某种方式神奇地转换成C++源代码吗?或者你真正想要的只是一个从脚本创建可执行文件的选项?如果后者 - 那么你可以尝试py2Exe。
“小脚印”是一个相对术语...... Lau需要的内存超过了我希望使用它的一些系统。 – NoMoreZealots 2010-03-30 11:15:12
对于每一个内存字节都很有价值的嵌入式开发(和类似的),使用自带虚拟机的任何语言都可能不是最好的解决方案(我认为)。您还没有指定要使用脚本语言,在什么样的平台上,有什么限制......这很难猜出;) 如果您想比较各种语言的性能:http ://shootout.alioth.debian.org/ – MaciekTalaska 2010-04-04 05:40:38
问题可以解释不同的方式...
如果你已经用C++编写你的应用程序的一部分,需要添加的模块或脚本,要在C++代码添加最终为改善性能,您可以使用Qt这是一个稳固,非常完整的多平台框架。
它包括对scripts(ECMAScript,Javascript的标准化版本)的支持,如果需要,您可以从中访问C++对象。它还提供对插件的支持。
有了这种方法,你甚至可以继续在三个步骤,
- 首先做的Javascript一些测试,
- 然后用C应用程序的基本代码++且仍然可以使用脚本的一部分(例如,如果您需要尝试不同的算法),最后在C++中移植所有关键部分或至少关键部分。
另一种选择是在代码中嵌入一个Python解释器,虽然这可能需要更多的工作。
棋子是一个简单的,无类型,32位扩展用类似C的语法的语言。典型的“源代码”程序被编译为二进制文件以获得最佳执行速度。典型编译器输出随后在抽象机器上运行的P代码(或字节代码)。执行速度,稳定性,简单性和小占用空间是语言和抽象机器的基本设计标准。
这种语言与c语法非常相似,所以任何已经完成C++,c,c#,java的任何人都可以读取它,并且它的简单性让所有编码者都无法读取它。这种语言目前用于所有地方,其他地方使用halflife 1和halflife2服务器。
/我喜欢我的棋子,AMX家伙用这种语言做了一些INSANE的事情。 – 2009-12-30 14:11:47
我不确定我是否理解你的问题,但是如果你希望实现自己的脚本语言,它可以与你的C++代码接口,你可以看看boost :: spirit。你只需要告诉它你的语法,并且你的脚本语言可以做你在C++中告诉它的任何东西。您可以使用C++运算符指定您的语法,使其非常简单直观。
这就是我目前用于我最近的需求,它看起来会做的工作就好了。在指定语法时,您可以完全访问您的C++对象,并且您的用户可以使用一种非常简单的语言来学习(与CINT相比,语言本身就是C++)。
编译时间现在有点慢,但如果你不需要实现一个非常复杂的语言,它应该是可管理的(我不希望看到类似C++的编译时间)。此外,文档对于最新版本有点缺乏(最新的版本有点难以找到),但使用相对简单,所以根据您的需要可能值得一试。
任何有兴趣的脚本语言,(主要是)非常相似,C++,可能想看看angelscript(ZLIB):
的AngelCode脚本库,或AngelScript因为它也被称为是一个非常灵活的跨平台脚本库,旨在允许应用程序通过外部脚本扩展其功能。它从一开始就被设计成易于使用的组件,既适用于应用程序员,也适用于脚本编写者。
已经努力让它调用标准C函数和C++方法,而不需要代理函数。应用程序只需注册脚本应该能够使用的功能,对象和方法,而不必使用代码进行更多操作。脚本引擎也可以使用应用程序在内部使用的相同功能,这样就不需要复制功能。
对于脚本编写者来说,脚本语言遵循C/C++的广为人知的语法(只有很小的改动),但不需要担心指针和内存泄漏。与大多数脚本语言相反,AngelScript使用通用C/C++数据类型与主机应用程序进行更高效的通信。
欲了解更多信息,请访问:http://www.angelcode.com/angelscript/sdk/docs/manual/index.html
很酷的东西! :-D – ASBai 2014-01-04 19:27:27
@rjoshi的解释,也许你需要澄清。我认为@Mike的反义词是你想在C++应用程序中托管一种脚本语言。我已经使用VBScript引擎完成了Windows,所以也许这是我的经验,因为我的偏见。 – kenny 2009-10-03 14:59:37
我想在脚本语言中为开发做一个快速原型,并且应该能够部署高性能,所以我想知道一些可以将脚本转换为C/C++程序进行部署。 – rjoshi 2009-10-03 15:18:51
@rjoshi:请不要评论你自己的问题。请更新您的问题。评论你自己的问题是愚蠢的 - 你拥有这个问题。你可以修复它以澄清事情。 – 2009-10-03 15:21:32