gpt4 book ai didi

我可以将 lua_tointeger() 用于 off_t 吗?

转载 作者:行者123 更新时间:2023-12-01 14:06:46 24 4
gpt4 key购买 nike

在将 Lua 数字转换为 off_t 值时,我应该使用 lua_tointeger() 还是 lua_tonumber()

我检查了 Lua 本身的源代码,我看到他们的 file:seek函数使用 lua_Number,而不是 lua_Integer

我还看到 luaposix包广泛使用 lua_tonumber()(或 luaL_checknumber() 等),甚至读取文件描述符(!)。

size_t 呢?

我是否应该使用 lua_tonumber()(和 lua_pushnumber())来处理所有整型 C 类型(mode_t、size_t 等)?还是我通常应该使用 lua_tointeger() 并仅在我“感觉”它是一个潜在的大数字时才求助于 lua_tonumber()

最佳答案

因为off_tsize_t都是整数类型,你应该使用lua_tointeger

来自 the source , lua_tointeger 实际获取的数字为lua_Number, 然后converts it to lua_Integer .唯一的问题是 lua_Integer 可能太小了,但是因为它是作为 ptrdiff_t 实现的,在实践中通常在 32 位机器上是 32 位的,在 64 位机器上是 64 位的-位机。

关于我可以将 lua_tointeger() 用于 off_t 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19110326/

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