问题标签 [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 投票
3 回答
3028 浏览

c++ - String::New: 它是什么?

我来自 Java 背景,正在学习 C++。我遇到了以下 C++ 代码:

据我所知,这应该是对类“String”的静态成员函数“New”的调用。但是,我搜索了定义“String”的整个头文件,在 String 类或其超类中没有任何名为“New”的静态成员。String 类或 C++ 中的 New 成员函数有什么特殊含义吗?

0 投票
1 回答
4146 浏览

c++ - 使用 Visual C++ 2010 嵌入 v8

我正在尝试将 v8 引擎嵌入到我的 C++ 应用程序中。我使用 Visual C++ 2010。我已经使用以下命令成功构建了它:

然后我:

  • v8/include目录添加到 Configuration Properties -> C/C++ -> General -> Additional Include Directories

  • v8/v8.lib文件添加到配置属性 -> 链接器 -> 输入 -> 附加依赖项。

当我尝试从“入门”页面编译基本的“Hello World”示例时,它显示以下链接错误:

任何想法如何解决这一问题?

谢谢。

0 投票
1 回答
1860 浏览

c# - 了解 Google V8 的架构

我不确定我是否了解 V8 的架构(是的,我已经阅读了它的文档)。

在带有v8sharp包装器的 C# 中,我编写了类似这样的内容,例如:

如果没有这个包装器,我将如何在标准 C++ 中编写相同的东西?

谢谢。

0 投票
1 回答
3193 浏览

macos - V8 编译问题

我正在尝试使用 Google 的 V8 JavaScript Engine 编译文件。我安装scons并编译了 V8 引擎。但是,这就是问题所在,我按照他们所说的那样留在 V8 目录中并创建一个以hello_world.cpp代码命名的文件:

然后我使用gcc hello_world.cpp -o libv8.a. 但是,当我编译它时,我得到了一些错误:

我不明白为什么它说 V8.h 没有声明。我已经构建了它并且我在它的目录中,我猜如果我摆脱它,所有其他错误都会消失。有什么建议么?

0 投票
1 回答
442 浏览

.net - 为什么这个指针不指向任何地方?

我正在尝试向 v8sharp 项目添加功能,但遇到了一些问题(我不太擅长 C++-CLI,所以我很确定问题在于我缺乏 C++-CLI 能力而不是滥用 v8 .)

v8value.cpp:

哪个应该v8Handle<v8::Value>包含一个函数(它总是会因为调用这个函数)并返回一个很好的 .net 包装器,以便我们可以在我的 C# 项目中使用它。

问题出在v8functionwrapper.cpp:

v8functionwrapper.h:

从这一行(调试代码)可以看出: Console::WriteLine("IsFunction: {0}", (*this->_value)->IsFunction()); 指针 _value 不再有效并导致异常。为什么我的指针无效?是因为我指向构造函数中的一个参数并且被删除了吗?如果是这样,我如何获得一个不会消失的指针。请记住,这是一个 .net 类,因此我无法在其中混合和匹配本机类型。

0 投票
2 回答
1669 浏览

javascript - V8 的 JavaScript 标准库

在我的应用程序中,我允许用户使用 JavaScript 编写插件。为此,我嵌入了 V8。问题是开发人员不能使用 HTTP、套接字、流、计时器、线程、密码学、单元测试等。

我搜索了 Stack Overflow 并找到了 node.js。它的问题是您实际上可以创建HTTP 服务器,并启动进程和更多我不想允许的事情。另外,node.js 有自己的环境(./node script.js),不能嵌入。而且它不支持 Windows - 我需要它完全跨平台。如果这些问题能够得到解决,那就太棒了:) 但我也对其他框架持开放态度。

有任何想法吗?

谢谢!

0 投票
1 回答
6183 浏览

javascript - 我在哪里可以找到 XMLHttpRequest 实现?

我想了解 XMLHttpRequest 如何在 Javascript 中工作的低级细节,但是我没有任何运气在 Rhino 或 V8 代码中找到实现代码。我对这两个项目中的代码都不熟悉,所以我可能没有找到正确的位置。

任何地方都有可用的开源实现吗?

0 投票
1 回答
3019 浏览

c++ - 使用 C++ 的跨平台递归文件列表?

递归列出特定目录及其子目录中文件的最有效方法是什么?我应该使用标准库还是使用第三方?

我想要这个是因为我使用 v8 作为 JavaScript 引擎,并且我想执行某个目录(及其子目录)中的所有脚本。如果在 v8 中有任何内置方法可以做到这一点,那就太好了:)

它应该支持 Windows、Linux 和 OS X。

谢谢。

0 投票
4 回答
3838 浏览

c++ - V8 FunctionTemplate 类实例

我有以下课程:

我希望可以从 JavaScript 访问 Register 方法。我将它添加到全局对象中,如下所示:

它抛出以下错误:

'PluginManager::Register':函数调用缺少参数列表;使用 '&PluginManager::Register' 创建指向成员的指针

我试图这样做,但它也不起作用。这是不正确的,因为我希望它调用pluginManagerInstance的 Register 方法。

除了将 Register 方法设为静态或全局之外,还有什么想法吗?

谢谢。

0 投票
1 回答
851 浏览

javascript - 如何从使用“文档”和/或“窗口”的 Python 执行 JS

我目前正在努力让 JavaScript 在 Python 中成功执行。我已经使用 PyV8 包实现了一个 JS 引擎(v8)。从这里我可以执行原始 JavaScript(“1+2”等)。但是,对于使用对“文档”或“窗口”的引用的 JavaScript,代码将引发错误。理想情况下,我正在寻找 Python 实现,但是 JavaScript 实现可以正常工作,因为我可以在执行我的 JavaScript 引擎之前将它添加到我的脚本中。

总结一下:如何从 JavaScript 中执行使用“文档”和/或“窗口”的 JavaScript?