Tag: 大文件支持

随机访问node.js中的大文件(需要支持64位文件偏移量)?

我正在考虑将部分跨平台脚本移植到node.js,部分是因为我现在更熟悉JavaScript,部分原因是由于其他脚本语言对大文件支持的问题。 某些脚本语言似乎对大文件偏移量有补丁支持,这取决于它们是在32位/ 64位操作系统还是处理器上运行,还是需要使用特定标志进行特定编译。 所以我想用node.js来试验,不过谷歌search对于64位偏移量的大文件我没有find任何支持它的方法(或者是库/框架支持等)。 我意识到在某种程度上,这至less取决于JavaScript的底层整数支持。 如果我正确地阅读什么是JavaScript的Max Int? 一个数字可以达到的最高整数值是什么? 看起来JavaScript在内部使用浮点,即使是整数也是如此 最大的确切积分值是2 53 然后,再次node.js是为服务器和服务器应该期望大文件的支持。 node.js是否支持64位文件偏移量? UPDATE 尽pipe_LARGEFILE_SOURCE和_FILE_OFFSET_BITS构build标志,现在我已经开始移植我的项目,需要这个,我发现fs.read(files.d.fd, chunk, 0, 1023, 0x7fffffff, function (err, bytesRead, data)成功,但0x80000000与EINVAL失败。这是在32位Windows 7上运行的版本v0.6.11 。 到目前为止,我不确定这是否仅限于fs的限制,node.js中的错误,还是仅在Windows上构build的问题。 是否打算在所有平台的所有核心模块中的node.js中使用大于31位的文件偏移量?