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