问题标签 [chaiscript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - ChaiScript 问题
我正在使用带有 c++ 和 Qt 的脚本语言 ChaiScript。我已经定义了这样的功能:
在应用程序绘画事件中:
错误是:
'chaiscript::Eval_Error' what(): Error: "No matching function to dispatch to with function 'drawRect'" 在 (1, 1) 评估期间
我做错了什么?
javascript - 是否可以在 QtScript 中使用带有重载运算符的自定义 C++ 类?
有谁知道是否有可能有一个带有重载运算符(如 +、-、*)的 C++ 类,并以某种方式将其声明(这就是魔法发生的地方)到 QtScriptEngine 以便评估像“a+b”这样的 js 表达式因为他们会在 C++ 方面?
c++ - 在 Chaiscript 中绑定 C++ 本机方法时的继承问题
我使用这段代码来验证 ChaiScript 中一组 Qt 对象的一些属性:
问题是“isTristate()”调用有效,因为这是 QCheckBox 的本机方法。另一方面,“isChecked()”调用失败,我认为这是因为这是从 QAbstractButton 类继承的方法。
我究竟做错了什么?
node.js - 如何将 C++ 代码暴露给另一种脚本语言
背景:我有 C++ DLL,它们是 Web 应用程序的一部分。我现在正在开发调用部分代码的 UI,并且 C++ 代码也在开发中。这会产生很多集成问题。为了解决这个问题,我想用与 UI 无关的另一种语言(类似于 UI 发生的情况)从外部调用 C++ 代码,然后测试我的代码。
我目前正在探索如何实现这一点,并想就哪些工具来实现这一点寻求您的帮助。
简而言之,我想做的是绕过 UI 层来执行测试(也许在将来,创建一些基于 JSON/XML 的服务器来实现自动化)。
进一步研究和思考问题后更新:
ChaiScirpt- 看起来对我想要的东西很有希望,但我似乎找不到其他使用它的项目。它支持64位吗?它如何处理非标准代码。
Swig - 看起来是一个很棒的项目。不支持 64 位?胶合层需要做很多工作吗?
node.js :似乎兼容windows,V8给你js。支持 64 位,并且有一个很好的嵌入指南。它的工作量是多少?
我在 Windows 2003 上运行该应用程序,我使用的是 VC6。移植到VC11(VS2012)的过程中
一个好的解决方案将包括公开 C++ 接口、长期开发和支持 64 位/Unicode 的最少工作。
c++ - ChaiScript: Exposing data member variables of a class
I'm trying to expose Ogre::Vector2
class to ChaiScript. I want to expose the x
and y
of the class and as-per this post on their forum, it seems like you just need to add it like any other function. But that doesn't work for me and it gives me the following error message:
"Error with function dispatch for function 'x'" With parameters: (const class Ogre::Vector2).()
NOTE: I've tried accessing them as v.x
and v.x()
inside of the script.
My definition of the module looks like this:
I had initially tried defining this class via their class helper macro and went on to manually define this module by-hand having encountered this error. Since their forum has disabled new-topic creations and new posts (DARN you, spammers!), I'm posting this question here. Any help to resolve this issue would be much appreciated.
NOTE2: I'm using ChaiScript-4.2.0
chaiscript - 在 chaiscript 文件中评估 chaiscript 文件
我开始学习 chaiscript,但在文档中找不到这个。
我知道有 API 可以通过调用 ChaiScript::eval_file 从 C++ 评估 chaiscript 文件
但是可以从 chaiscript 文件中做同样的事情吗?
c++ - ChaiScript 和 STL
我正在尝试在std::list<arnAddr>
Chai 脚本文件中使用(arnAddr 是自定义结构)。但是在解析过程中出现错误:
我将以下内容添加到 chai 解析器:
脚本文件非常简单,只包含var group = group();
我从错误消息中得到的是,Chaiscript 不知道如何复制构造一个std::list<arnAddr>
. 但是我该如何解决呢?
c++ - Clang 与 .so 文件的链接
我不断得到
尝试链接到.so文件时。
我正在使用这个命令:
我究竟做错了什么?
文件libchaiscript_stdlib-5.3.1.so与文件Main.cpp位于同一目录中。我认为-L./
会将.so添加到库搜索路径中。
c++ - 使用多个参数绑定函数会导致 C2027
我正在使用 ChaiScript 5.3.1,我正在尝试将函数绑定到我自己的类,特别是一个 setPosition 函数,它可以采用 Vector3 或 3 个浮点数。
该类及其相关方法的声明如下:
我正在尝试像这样绑定它们:
这会产生以下编译器输出(Windows、MSVC 2013):
c++ - C++11 std::function:绑定没有特定实例的方法
继续这个话题,我想把它分成另一个更具体的问题。我想使用 ChaiScript 绑定一个函数,我可以使用 来做到这一点std::function
,但我似乎无法std::function
知道它应该使用哪个重载。
镜像相关方法:
然后我试图像这样绑定它:
我得到的是以下错误:
2>..\..\ScriptingDemo\Binder.cpp(63): error C2440: 'initializing' : cannot convert from 'overloaded-function' to 'std::function<void (Actor *, Vector3 &)>'
2> No constructor could take the source type, or constructor overload resolution was ambiguous