本目录模块作用是记录系统可能发生的各种情况
以下记录一些个人在目录模块所理解的知识点。
一:单例模式
单例 Singleton 是设计模式的一种,其特点是只提供唯一一个类的实例,具有全局变量的特点,在任何位置都可以通过接口获取到那个唯一实例;
// 单例模式 将构造函数私有化
static LOG*get_instance()
{
static Log instance; return &instance;
}
函数返回值为static,接收静态变量。 static修饰变量,使变量的生命周期延长至程序结束。
二:时间结构体与函数
time_t t=time(NULL);//获取系统时间,单位为秒;
struct tm*sys_tm=localtime(&t); //把当前时间系统所偏移的秒数时间转换为本地时间
struct tm my_tm=*sys_tm;
struct timeval now={
0,0};
gettimeofday(&now,NULL);//获得当前精确时间(1970年1月1日到现在的时间)
time_t t=now.tv_sec;
struct tm*sys_tm=localtime(&t);
struct tm my_tm=*sys_tm;
time_t :用来存储从1970年到现在经过了多少秒
struct tm:用来直接存储年月日
struct tm {
int tm_sec; /* 秒,范围从 0 到 59 /
int tm_min; / 分,范围从 0 到 59 /
int tm_hour; / 小时,范围从 0 到 23 /
int tm_mday; / 一月中的第几天,范围从 1 到 31 /
int tm_mon; / 月份,范围从 0 到 11 /
int tm_year; / 自 1900 起的年数 /