相关疑难解决方法(0)

什么是time_t typedef到底是什么?

我在linux框中搜索并看到它是typedef

typedef __time_t time_t;
Run Code Online (Sandbox Code Playgroud)

但找不到__time_t定义.

c linux types

188
推荐指数
6
解决办法
27万
查看次数

__udivdi3 undefined - 如何找到使用它的代码?

在32位Linux内核上编译内核模块会导致

"__udivdi3" [mymodule.ko] undefined!
"__umoddi3" [mymodule.ko] undefined!
Run Code Online (Sandbox Code Playgroud)

在64位系统上一切都很好.据我所知,原因是32位Linux内核不支持64位整数除法和模数.

如何找到发出64位操作的代码.它们很难手动找到,因为我无法轻易检查"/"是32位宽还是64位宽.如果"正常"函数未定义,我可以grep它们,但这不可能在这里.还有另一种搜索引用的好方法吗?某种"机器代码grep"?

该模块由几千行代码组成.我真的不能手动检查每一行.

c linux kernel linux-kernel

18
推荐指数
2
解决办法
2万
查看次数

有没有办法在Linux中的32位程序中获得64位time_t

在Windows上我可以打电话:

_time32(__time32_t); // to get 32bit time_t
_time64(__time64_t); // to get 64bit time_t
Run Code Online (Sandbox Code Playgroud)

(32位和64位程序)

在Linux中有没有办法做到这一点(用GCC编译)?

c linux time gcc

15
推荐指数
3
解决办法
2万
查看次数

假设time_t以秒为单位是多么安全?

我经常做很多计算,通过添加秒来构建相对于其他时间对象的时间对象.该代码应该在嵌入式设备和服务器上运行.大多数文件说它time_t是一些算术类型,通常存储自纪元以来的时间.假设time_t存储了几秒钟后,它有多安全?如果我们可以假设,那么我们可以只使用加法和减法,而不是localtime,mktimedifftime.

到目前为止,我已经通过使用a来解决问题constexpr bool time_tUsesSeconds,表示假设time_t使用秒是否安全.如果它是不可移动的假设time_t是在几秒钟内,有没有办法自动初始化该常量?

time_t timeByAddingSeconds(time_t theTime, int timeIntervalSeconds) {
    if (Time_tUsesSeconds){
        return theTime + timeIntervalSeconds;
    } else {
        tm timeComponents = *localtime(&theTime);
        timeComponents.tm_sec += timeIntervalSeconds;
        return mktime(&timeComponents);
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ time date time-t

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

c ×3

linux ×3

time ×2

c++ ×1

date ×1

gcc ×1

kernel ×1

linux-kernel ×1

time-t ×1

types ×1