gcc 编译
今天在搞嵌入式设备时,发现一个关于时区的问题:
我调用time(NULL) 得到当前系统的UTC时间
再用localtime(xx) 将这个UTC时间解析成本地时间时,采用设置好时区的Ubuntu可以正确得出
但是将该程序编译好之后,放到嵌入式设备上面运行,发现时间少了8小时。
1: 说明这是我动态编译的结果,改程序会在嵌入式内核中动态调用localtime这个API 从而得到0时区的本地时间
可以尝试在Ubuntu编译的时候 用 gcc -static 编译 强制生成 静态编译后的结果 (没有试过,不过感觉应该可以)
2: 袁师兄说 重新编译内核,在编译模块中加上RTC模块,之后boot的时候应该就有时区可以确定。
3: 实在没办法,就强制加上8小时吧。。。