我有一个 node js 应用程序,它使用sharp对大文件进行一些图像处理,然后使用 nan 与 node.js 交互。当我加载一个非常大的图像时,我从 nan 收到一个错误,上面写着
node: ../node_modules/nan/nan.h:679: Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char*, size_t, node::Buffer::FreeCallback, void*): Assertion `length <= imp::kMaxLength && "too large buffer"' failed.
Aborted (core dumped)
但总而言之,它是这样说的:
// arbitrary buffer lengths requires
// NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION
assert(length <= imp::kMaxLength && "too large buffer");
我有
$ node -v
v4.4.6
您可以看到文件顶部的哪个版本应该是比 更高的版本IOJS_3_0_MODULE_VERSION
,提供任意长度的缓冲区。但是,断言没有被 s 包围#ifdef
。有谁知道在使用 nan 时如何使用任意长度的缓冲区?