📄 clock.c
字号:
/* clock.c - operations on struct tms and clock_t's *//* Copyright (C) 1999 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. Bash is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Bash is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Bash. If not, see <http://www.gnu.org/licenses/>.*/#include <config.h>#if defined (HAVE_TIMES)#include <sys/types.h>#include <posixtime.h>#if defined (HAVE_SYS_TIMES_H)# include <sys/times.h>#endif#include <stdio.h>#include <stdc.h>extern long get_clk_tck __P((void));voidclock_t_to_secs (t, sp, sfp) clock_t t; time_t *sp; int *sfp;{ static long clk_tck = -1; if (clk_tck == -1) clk_tck = get_clk_tck (); *sfp = t % clk_tck; *sfp = (*sfp * 1000) / clk_tck; *sp = t / clk_tck; /* Sanity check */ if (*sfp >= 1000) { *sp += 1; *sfp -= 1000; }}/* Print the time defined by a clock_t (returned by the `times' and `time' system calls) in a standard way to stdio stream FP. This is scaled in terms of the value of CLK_TCK, which is what is returned by the `times' call. */voidprint_clock_t (fp, t) FILE *fp; clock_t t;{ time_t timestamp; long minutes; int seconds, seconds_fraction; clock_t_to_secs (t, ×tamp, &seconds_fraction); minutes = timestamp / 60; seconds = timestamp % 60; fprintf (fp, "%ldm%d.%03ds", minutes, seconds, seconds_fraction);}#endif /* HAVE_TIMES */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -