学习笔记-应用编程和网络编程-3(获取系统信息+附代码)

本文介绍了如何在Linux系统中获取时间信息,包括时间概念、API实战,以及如何使用time、ctime、gmtime等函数。同时,探讨了随机数的生成与相关API,如rand和srand,并介绍了proc文件系统作为内核调试的重要工具,以及sys文件系统的特性。
摘要由CSDN通过智能技术生成

获取系统信息

欢迎访问个人GitHub博客

一、时间

1、概念

2020.12.09
GMT是格林尼治时间,就是格林尼治地区的时间,作为全球 国际时间,方便描述全球性事件。(起源于天文学)
现在越来越多的使用UTC时间(使用原子钟计时)。
(1)点时间和短时间(计算机)
点时间—一个时刻
段时间–一个时间段;段时间=一个点时间 - 一个点时间;
(2)定时器和实时时钟
定时器(timer)–定的是一个段时间;
实时时钟(RTC)–与点时间有关的一个器件。

(3)Linux系统中的时间
**jiffies是Linux内核中的一个全局变量,用来记录以j内核的节拍时间为单位时间长度的一个数值。
**内核在开机启动的时候会读取RTC硬件,获取一个时间作为一个基准时间,这个基准时间对应一个jiffies值。(jiffies = 用这个时间 - 1970-01-01 00:00:00,然后再换算)可通过man 2 time 查看。操作系统只在开机时读取一次RTC。
一个时间节拍的时间取决于操作系统的配置,Linux一般是10ms或者1ms。也称调度时间,在内核中用Hz来记录和表示的。

常用的时间相关的API:
使用man 2 …查看
time ctime localtime gmtime mktime asctime strftime gettimeofday settimeofday

localtime 得到本地时间(系统设置的时区时间)
gmtime 得到国际时间
asctime strftime 得到字符串类时间。
gettimeofday 返回的是由timeval表示时间 和timezone表示时区。

2、API实战

(1)time
能得到一个距离基准时间utc过去了多少秒。

#include <stdio.h>
#include <time.h>

int main(void)
{
	time_t tNow = 0;
	
	tNow = time(NULL);
	//time(&tNow);或者可以这样  前面使用time_t tNow = -1;
	if (tNow < 0)
	{
		perror("time");
		return -1;
	}
	printf("time: %ld \n",tNow);

	return 0;
}

效果为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值