gpt4 book ai didi

64-bit - __USE_FILE_OFFSET64 与 _FILE_OFFSET_BITS=64

转载 作者:行者123 更新时间:2023-12-03 11:28:01 29 4
gpt4 key购买 nike

我试图维护在许多不同系统上编译的代码。我见过十几种不同的索取方式 lseek这需要 64 位。一些系统使用 lseek64 ,有些使用 lseeko ,有些要求您定义 _FILE_OFFSET_BITS=64 ,现在我刚刚发现了一个新的,需要你定义 __USE_FILE_OFFSET64 .

这一切有什么标准吗?

最佳答案

getconf values in IEEE Std 1003.1-2004 (以及 IEEE Std 1003.1-2008 中的更新集;另请参见这些文档中的示例部分)。没有指定实际的编译器选项(甚至可能没有定义)。

然而,AC_SYS_LARGEFILE autoconf 中的宏不会尝试使用它——它只是尝试 -n32对于 IRIX,-D_FILE_OFFSET_BITS=64 (这应该适用于大多数系统)和 -D_LARGE_FILES=1 (显然适用于 AIX)。还有一个引用Adding Support for Arbitrary File Sizes to the Single UNIX Specification (旧的规范草案,然后部分包含在 POSIX.1 规范中)在 autoconf 源中。

至于定义__USE_FILE_OFFSET64手动,不确定这是否真的是一个正确的解决方案——双下划线宏是为系统头文件保留的,很可能有一些条件定义依赖于其他定义。

关于64-bit - __USE_FILE_OFFSET64 与 _FILE_OFFSET_BITS=64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4357570/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com