- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景:POSIX-defined off_t
数据类型是 variable-size depending on the environment 的有符号整数.对于 64 位构建环境,它似乎始终是 64 位 off_t。对于 32 位系统,off_t 的大小取决于环境(通常由 _FILE_OFFSET_BITS 和相关控制)。
我正在使用 Python 的 ctypes访问使用 off_t
的函数的一些库调用数据类型。 ctypes 没有 off_t
的类型所以通过 Structure 映射这样的 API否则需要选择一些由 定义的其他类型ctypes ,即 c_int
之一, c_int32
, c_int64
, c_long
和 c_longlong
.
在四处寻找其他人的解决方案时,我看到了各种各样的解决方案,其中大多数是猜测并仅限于其中一种环境,其中一些完全错误(使用无符号类型),而且没有一个是可移植的。
是否有一种健壮、便携的方法来确定 off_t
的大小?用于构建给定的 Python 解释器?
谢谢!
最佳答案
标准中不支持这一点,正如您自己指出的那样,它会根据用于编译库的标志(而不是 Python)在 32 位机器上有所不同。 (也就是说,您需要知道您使用的库例程是否使用 -D_FILE_OFFSET_BITS=64 编译...)
GCC 似乎定义了 off_t
如 long int
相当一致。所以这可能是“最安全”的选择。或者你可以默认使用 64 位。在任何一种情况下,覆盖行为并指定位数的选项可能很有值(value)。
是否有一个函数可以调用,它会返回 off_t
?也许你可以用 0xFF 填充缓冲区,然后 seek(0)
和 ftell()
看看有多少个零被写入?
关于python - 是否可以可移植确定 Python 中 off_t 的适当映射以用于 ctypes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43671524/
这段代码在 Java 中的等价物是什么?我放了一部分,我对 I/O 部分感兴趣: int fd = open(FILE_NAME, O_WRONLY); int ret = 0; if (fd =
我正在尝试将维度为 d1,d2,d3 的张量 M[a1,a2,a3] reshape 为维度为 d2, d1*d3 的矩阵 M[a2,a1*a3]。我试过 M.reshape(d2,d1*d3) 但是
我是一名优秀的程序员,十分优秀!