在將Lua數字轉換爲off_t
值時,我應該使用lua_tointeger()
還是lua_tonumber()
?我可以使用lua_tointeger()作爲off_t嗎?
我檢查了Lua本身的源代碼,發現它們的file:seek函數使用lua_Number
而不是lua_Integer
。
我還看到,軟件包廣泛使用lua_tonumber()
(或luaL_checknumber()等),甚至讀取文件描述符(!)。
那麼size_t
呢?
對於所有積分C類型(mode_t,size_t等),我應該轉到「極端」並使用lua_tonumber()
(和lua_pushnumber()
)嗎?或者我應該通常只使用lua_tointeger()
,並且只有當我「感覺」這是一個潛在的大數字時,纔會使用lua_tonumber()
?
請始終鏈接到正確的來源。您鏈接到Wesnoth代碼的戰鬥,而不是[原始Lua文件:seek'實現](http://www.lua.org/source/5.2/liolib.c.html#f_seek)。他們碰巧是一樣的,但你將來永遠都不會知道。 –