问题标签 [embedded-v8]

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.

0 投票
1 回答
79 浏览

64-bit - 是什么让程序无法利用 64 位系统?

我正在研究 Google V8 Javascript 引擎。据说他们在移植到 64 位系统时遇到了问题。

除了在具有 64 位设置的 64 位机器上构建和测试它们之外,什么样的编程或编程约束可以使程序成为 32 位或 64 位特定的?

0 投票
2 回答
1827 浏览

c++ - 带有 C++11 的谷歌 v8 引擎

v8(Google 的开源 JavaScript 引擎)可以与 C++11 一起使用吗?

0 投票
0 回答
241 浏览

c++ - 将 v8 嵌入到 Visual Studio 2012 中的 C++ 应用程序中

我刚刚使用 Visual Studio 2012 在 Windows 8 上完成了 V8 的构建,现在我想将它静态链接到应用程序

除了我不知道从这里去哪里我从谷歌得到了一些我想尝试编译的代码

我知道如果我尝试在做其他事情时包含 v8 标头,它只会带来编译错误,这就是我想知道的,

我很抱歉没有提供信息,老实说,我不完全确定需要什么来帮助解决我的问题,所以对此的任何评论也很感激

0 投票
2 回答
2293 浏览

c++ - v8::Script::Compile(v8::String::New(".make.some.syntax.errors"), v8::String::New("main"))->Run() 导致分段错误

假设我有这个代码:

上下文是之前创建和输入的。
这段代码的输出是:

正如预期的那样。source但是,如果将一些包含语法错误(例如, )的javascript 代码放入其中,".x11 = 1"则输出为:

如果编译有错误,也许我不应该打电话Run,但如何检查呢?

另外:(来自Getting Starget 的代码 - Chrome V8 + 有语法错误的代码 = 相同的东西)

0 投票
1 回答
1188 浏览

javascript - google V8 如何处理 javascript 事件

我正在尝试了解 Google V8 javascript 引擎,我浏览了https://developers.google.com/v8/get_started,它可以让 javascript 代码被理解和执行。我不知道 V8 如何解释 javascript 中的事件,如鼠标单击、鼠标悬停等。我遇到了 Nodejs 事件循环和这个 http://html5tv.rot13.org/JSConf.eu-Node.js.html,后来是 node.js 的事件循环可以指向一些可以让我清楚地看到的东西

0 投票
1 回答
796 浏览

javascript - JavaScript 如何在 Google V8 中执行,特别是与 Canvas 相关的代码

大师们,我正在尝试了解 Google-V8 引擎的工作原理,据我所知,我浏览了https://developers.google.com/v8/get_started,V8将 javascript 作为输入,然后编译它并获得输出, 如上例所示,我们以字符串形式输出。在现实生活场景中,情况有所不同,请考虑此画布代码

这些代码是如何在 V8 中执行的,特别是 canvas.addEventListener,可以帮助我理解它。

0 投票
2 回答
613 浏览

c# - v8dotnet -- 无法加载 v8.net.proxy.interface

我正在尝试编写一个 hello world 程序,该程序使用 v8dotnet 将一些基本的 js 打印到控制台。

我有一个简单的应用程序

但这似乎不起作用

附加信息:无法加载文件或程序集“V8.Net.Proxy.Interface,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。操作在当前状态下是不合法的。(来自 HRESULT 的异常:0x80131509)

我已将二进制文件附带的所有 dll 放在我的 bin/debug 文件夹中,并添加了参考 V8.NET dll(如所描述的文档)。我尝试了设置 x86 或 x64 并将 dotnet 版本设置为 4.0 的多种组合。

我确保我安装了 Visual c++ 2012 再分发版。无论我尝试什么,我似乎都无法让它发挥作用。有什么帮助吗?

0 投票
1 回答
1164 浏览

v8 - 调用不可用函数时的回退回调

是否可以设置当用户想要调用不存在的函数时调用的回退回调?例如

现在我希望调用一个函数,其中第一个参数是名称和一个带有传递参数的堆栈(或类似的东西)。澄清一下,回退回调应该是一个 C++ 函数。

0 投票
3 回答
81 浏览

c++ - 如何将 FILE* 转换为 64 位系统中的数字句柄?

我使用嵌入式 JavaScript 引擎,我曾经将结果fopen()作为数字传递给 JS 代码。

但是现在我需要在 64 位系统中重新编译,我得到了

现在我有点卡住了,我如何保持我的系统设计但尽可能少地更改代码?我正在考虑拥有一个哈希映射,一个包含 FILE* 并在该数组中返回一个 ID 的数组。但这将意味着额外的内存管理,额外的查找。

0 投票
1 回答
2031 浏览

v8 - 将对象句柄存储在哈希图中或在 Google 的 V8 引擎中设置

我想在使用 v8 引擎的嵌入式 JavaScript 应用程序中实现此功能。

为了做到这一点,我需要std::set像这样存储这些功能

如何做到这一点?我不想使用v8::Object::GetIdentityHash(),因为不能保证结果是唯一的。

我也不能只将 Local 存储在中,std::set因为复制构造函数是私有的,并且一旦 removeCallback 或 addCallback 返回它也会被取消作用域。

感谢您提前提供任何帮助。

编辑:我意识到我可以编写一些 javascript 来为我做函数散列,然后调用一个 C++ 绑定函数来迭代所有回调,但我不想每次需要存储 JavaScript 集或散列时都这样做对象。