Может ли дополнение C ++ в Node.js переопределить некоторый класс или метод V8? - PullRequest
0 голосов
/ 15 ноября 2018

Я не программист на 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
  }
}

Может ли это сработать?

1 Ответ

0 голосов
/ 15 ноября 2018

Нет. C ++ не позволяет вносить исправления обезьян, как это делает JavaScript. Вы не можете переопределить функции другого модуля / библиотеки извне.

...