我对编程领域很陌生。现在我正在尝试Linux中的一些基本程序。今天我开始使用time.h
中的时间函数,但偶尔会遇到困难。我已经完成了以下代码,以便在几秒钟内得到延迟。
#include <stdio.h>
#include <sys/types.h>
#include <time.h>
void delay_sec ( int seconds );
int main()
{
printf ( "\nhaii\n" );
delay_sec ( 5 );
printf ( "\nbyee\n" );
return 0;
}
void delay_sec ( int seconds )
{
time_t t1 = time ( NULL );
while ( ( time ( NULL ) - t1 ) < seconds )
;
}
它对我有用。但我需要一个毫秒的延迟。我已经阅读了time.h
手册,尝试了一些在那里定义的函数,但是没有任何像我预期的那样有效。问题是我实际上并不了解这些功能的作用。
我的问题不过是什么,但我在哪里可以找到类似所有函数和参数详细信息的文档,返回值,我的意思是所有头文件中定义的所有函数的用户手册。
我不相信这样的东西真的存在,但如果你们帮助我找到一些接近的东西,我将非常感激。
我打算学习叉子,管道,信号,过程,线程......我知道这还有很长的路要走。请帮帮我。
答案 0 :(得分:2)
您应该使用POSIX标准sleep
功能,而不是忙碌的等待delay_sec
...(并使用usleep
延迟微秒,或者更好nanosleep
)
我建议安装开发手册(例如Debian或Ubuntu上的manpages-dev
包)。
否则,请查看,例如在the sleep(3) man page这里。
我强烈建议您在Advanced Unix Programming上阅读一些好书,然后阅读Advanced Linux Programming上的一本书,然后阅读一些关于POSIX线程的好书。
还可以在Wikipedia上了解有关Linux kernel,System calls等等的更多信息