我不是C++程序员,所以如果这是个愚蠢的问题,请原谅我。
假设我想改变V8中的一个特定行为。当然,我可以在deps/v8中修改它,然后从源代码构建Node.js。但我在寻找是否有更简单的方法。
我可以写一个C++插件来覆盖V8中我想要的内容吗?
例如,我是否可以创建一个空的副词:
namespace MY_EMPTY_ADDON
{
  void init(v8::Local<v8::Object> exports, v8::Local<v8::Object> module)
  {
    // empty
  }
  NODE_MODULE(MY_EMPTY_ADDON, init)
}然后,在同一个文件中添加如下内容:
namespace v8
{
  namespace internal
  {
    // here I do my changes
  }
}这个能行吗?
发布于 2018-11-15 17:56:18
不是的。C++不允许像JavaScript那样进行猴子补丁。不能从外部重写另一个模块的/库函数。
https://stackoverflow.com/questions/53319793
复制相似问题