在emacs lisp中访问大多数positive-fixnum之外的字节

 玉米猴子_794 发布于 2023-01-30 19:59

TL; DR:32位emacs-lisp字节范围可以超出文件的前512 MB吗?

我喜欢使用emacs-lisp进行各种数据处理任务,因为它(显然)与编辑器的高度集成.

当这样编写自定义函数时,我有时会遇到强加的限制most-positive-fixnum.虽然我可以忍受并理解无法将整个1GB文件加载到缓冲区的原因,但该insert-file-contents[-literally]接口也不允许访问超出文件的前512 MB的数据块,因为它需要作为参数的整数字节范围.

有没有办法绕过这个限制?据我所知,目前insert-file-contents是emacs-lisp可用的最低级文件读取功能,insert-file-contents-literally只是通过设置几个变量配置的第一个变体,即emacs-lisp似乎没有提供任何低级别fopen类型文件界面.

奇怪的是在某些时候(可能使用自编译二进制)调用insert-file-contents-literally浮点参数对我有用,允许访问高字节范围,代价是舍入错误的风险.使用ftp.gnu.org中最新的预编译emacs版本(编写时为24.3),这样做会产生(wrong-type-argument file-offset NUMBER)错误.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有