gettimeofday.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 50 行

C
50
字号
#include <sys/types.h>#include <time.h>#include <sys/time.h>#include <string.h>#include "sys9.h"typedef unsigned long long uvlong;typedef long long vlong;typedef unsigned char uchar;static uvlong order = 0x0001020304050607ULL;static voidbe2vlong(vlong *to, uchar *f){	uchar *t, *o;	int i;	t = (uchar*)to;	o = (uchar*)&order;	for(i = 0; i < 8; i++)		t[o[i]] = f[i];}intgettimeofday(struct timeval *tp, struct timezone *tzp){	int f;	uchar b[8];	vlong t;	memset(b, 0, sizeof b);	f = _OPEN("/dev/bintime", 0);	if(f >= 0) {		_PREAD(f, b, sizeof(b), 0);		_CLOSE(f);	}	be2vlong(&t, b);	tp->tv_sec = t/1000000000;	tp->tv_usec = (t/1000)%1000000;	if(tzp) {		tzp->tz_minuteswest = 240;		tzp->tz_dsttime = 1;	}	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?