多亏了node-addon-api ,我正在为 node.js 构建一个插件。
我的每个“传统”C++ 类都包装了一个 C 对象。然后我的 Napi::ObjectWrap 类包装这些 C++ 对象。
my_object -> MyObject -> Napi::ObjectWrap<MyObjectWrapper>
MyObjectWrapper 实例包含对 MyObject 实例的引用,其中包含对 my_object 实例的引用。由于需要释放 C 对象,我认为 MyObject 的析构函数可以完成这项工作,但包装器从未调用过它。
我对 node-addon-api 还很陌生,我不确定是否理解需要的垃圾收集器。
我想知道的是包装器何时以及如何被销毁,以及将 null 传递给 Javascript 端的对象是否有任何影响。对此的任何线索将不胜感激。