首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lseek EOVERFLOW错误处理

lseek EOVERFLOW错误处理
EN

Stack Overflow用户
提问于 2012-07-02 07:52:10
回答 2查看 1.2K关注 0票数 1

我注意到,当我试图寻找比off_t所能表示的更多的字节时,我得到了一个EOVERFLOW错误。我如何在off_t中寻找更大的数字?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-02 07:56:23

启用large file support

简而言之,要使用LFS,您可以选择以下任一选项:

  • 用"gcc -D_FILE_OFFSET_BITS=64“编译你的程序。这将强制所有文件访问调用使用64位变体。几种类型也发生了变化,例如off_t变成了off64_t。因此,重要的是要始终使用正确的类型,并且不要使用int而不是off_t。考虑到其他平台的可移植性,您应该使用getconf LFS_CFLAGS,它在Linux平台上将返回-D_FILE_OFFSET_BITS=64,但在Solaris等平台上可能会返回其他内容。对于链接,您应该使用通过getconf LFS_LDFLAGS报告的链接标志。在Linux系统上,您不需要特殊的链接flags.
  • Define _LARGEFILE_SOURCE_LARGEFILE64_SOURCE。有了这些定义,您就可以使用LFS函数,如open64、directly.
  • Use、O_LARGEFILE标志和open对大文件进行操作。
票数 6
EN

Stack Overflow用户

发布于 2012-07-02 08:03:22

请参阅http://www.kernel.org/doc/man-pages/online/pages/man3/lseek64.3.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11286515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档