我正在尝试使用 C++ 编写一个 Node.js 模块,该模块包装并公开了一些来自libhdf5的类。
我目前对 libhdf5 中的两个类感兴趣。第一个是File
,它会打开一个 hdf5 文件。第二个是Group
,它代表该文件中的组。您从 File 对象中获取 Group 对象。
我编写了一些代码,在其中创建了一个File
对象并尝试从中获取一个对象Group
。我正在尝试使我的 Node.js 模块尽可能 JavaScripty,因此我想使用回调返回该组。所以,我正在尝试对我的模块进行编码,以便像这样使用它:
var hdf5 = require('hdf5');
var file = new hdf5.File('/tmp/example.h5');
file.getGroup('foobar', function (err, group) { console.log(group); });
所以,在我的包装器的 C++ 代码中File
,我有一个映射到getGroup
这里的函数的函数,它会调用给定的匿名函数,传入任何错误以及新的Group
对象包装器。
鉴于这对我来说听起来像是 Node.js 文档显示的包装对象工厂,我已经Group
按照那里的示例对我的代码进行了建模。
所以,我已经Group
编写了我的包装器,但我一直试图实例化它。我还不够了解如何避免使用 v8Arguments
类作为函数参数。因此,我似乎无法传递我的 v8 持久构造函数所需的一些参数(因为我是从 C++ 实例化它,而不是从 JS-land 实例化它)。