问题标签 [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 回答
1362 浏览

c++ - 如何存储对函数的引用,以便稍后在 node.js C++ 插件模块中调用它?

这是我用 C++ 编写并使用 node-gyp 构建的 node.js 插件模块。当 StoreFunction 我试图存储一个指向函数的指针,以便以后可以使用它

当我稍后尝试在 InvokeFunction 中调用它时,我得到一个分段错误。如果我检查了两个函数中的指针(使用 cout)它们是相同的值,这让我感到困惑。

所以我猜测调用两个函数之间调用上下文的变化或者我不明白我指的是什么。

所有(ummmmmm)指针都非常感谢我在这里收到的问题........

当然还有一些调用js…………

0 投票
1 回答
865 浏览

v8 - 当我只需要返回一个值时是否需要 v8 HandleScope?

handle_scope如果我只想返回一个值,我需要吗?

0 投票
2 回答
1277 浏览

embedded-v8 - 如何铸造手柄布尔

我试过这个:

编译器:

我:

编译器:

我:

编译器:

但这对我来说似乎是一种黑客行为,有没有一种合法的方式来获得boolean价值?

0 投票
1 回答
1927 浏览

arm - 对于 ARM Arch64 的 NEON 编码,如何将寄存器推入堆栈?似乎 STMFD 不是 Arch64 指令集的一部分?

对于 ARM Arch64 的 NEON 编码,如何将寄存器推入堆栈?似乎 STMFD 不是 Arch64 指令集的一部分?你只是将寄存器对一一保存到堆栈中吗?

0 投票
1 回答
341 浏览

c++ - node.js c++ 插件:返回新副本

我正在编写一个 node.js 插件,但在实现返回对象副本的克隆方法时遇到问题。

这是我的实现,这是不正确的,因为它在没有句柄时不调用析构函数:

0 投票
1 回答
1168 浏览

c++ - Node.js addon object destruction

I am writing a GPU database and looking at using javascript as language to query against using node.js.

I have been writing a node addon as I have written the GPU database in C++. However I have problem with my node.js addon as my c++ objects are not being destructed but only when I am not explicitly using the new operator. If I am using the new operator, it's fine, it's just when a call a method that creates a new method - like copy(), etc. I am using V8::AdjustAmountOfExternalAllocatedMemory(size()) as indication to V8 that I have allocated exernal memory (on the GPU).

Please could I get some advice.

1. Code that correctly frees GPU memory

This piece of code correctly frees the GPU memory by calling the object destructor, which makes a call to free the GPU memory:

2. However, this piece of code doesn't call the objects' destructor to free GPU memory.

3. Now, here's the functions for the constructor and copy function respectively.

0 投票
1 回答
335 浏览

node.js - 为什么使用本地::New 与 String::New()

我用这个:

但现在我在 node.js 网站上看到了这个例子:

这是什么意思?有什么区别,当一个 dwhy 我应该使用Local<Value>除了String::New()

0 投票
1 回答
1375 浏览

c++ - V8 C++ 嵌入问题

我是 V8 嵌入的新手,刚刚开始用 V8 库替换我当前的脚本语言。但是,我遇到了一些非常奇怪(至少对我而言)的问题。感觉就像我是唯一一个在做我正在做的事情的人,我觉得我在做一些愚蠢的事情。

我制作了一个包装器类来包装 V8 引擎函数并在构造我的包装器时构造引擎(尝试忽略糟糕的变量名或愚蠢的样式):

引擎.h:

engine.cpp(包括engine.h):

该代码很好而且很花哨,但是一旦我尝试了这个:

我在这条线上得到 SEGMENTATION FAULT:Context::Scope context_scope(Server::jsEngine->context);

我不知道我做错了什么,或者这种方法是否是最佳实践。你能帮我解决 SEGMENTATION FAULT 错误吗?

0 投票
1 回答
387 浏览

javascript - V8 不清理所有垃圾

我在 V8 中清理垃圾时遇到问题。首先,我的Javascript如下:

在 C++ 中,我正在运行一个循环:

  • 打电话frame
  • 收集垃圾:while(!V8::IdleNotification()) {};

预期的结果是每次迭代junkArray都会收集垃圾。毕竟,IdleNotification只有在“V8 已完成尽可能多的清理工作” (文档)时才返回 true 。

事实上,垃圾只被清理*大约。每 100 次迭代。我错过了一步吗?junkArray出于某种原因不是垃圾立即吗frame

*通过比较前后堆使用情况确定

0 投票
1 回答
470 浏览

node.js - Node js,将一个javascript函数传递给一个插件并存储它

我正在开发一个 Node.js 扩展,我想将一个 javascript 函数传递给它,以后可以从 c++ 代码中调用它。如果我将 javascript 函数存储在我的包装类中并在传入它时正确调用它,它工作正常,但是如果我存储它并稍后尝试调用它,我会收到以下错误:

我正在尝试完成类似的事情

有谁知道这在 Node.js 中是否可行?