今天需要在lua中计算时间,精确到us。
发现lua库中的时间函数是精确到秒的。
所以这里调用了lua底层的C库来得到更精确的时间函数:
ffi.cdef[[
struct timeval {long int tv_sec;
long int tv_usec;
};
int gettimeofday(struct timeval *tv, void *tz);
]];
local tm = ffi.new("struct timeval");
function NewTimeKey()
ffi.C.gettimeofday(tm, nil)
local sec = tonumber(tm.tv_sec)
local usec = tonumber(tm.tv_usec);
print("second : " .. tostring(sec))
print("usecond : " .. tostring(usec))
print("result : " .. tostring(sec) .. "." .. tostring(usec))
end
NewTimeKey()

本文介绍如何在Lua中实现时间精确到微秒的计算,由于标准库仅支持秒级别,故通过调用C库利用FFI来获取更高精度的时间函数。
最低0.47元/天 解锁文章
1635

被折叠的 条评论
为什么被折叠?



