0

我对编程领域很陌生。现在我正在尝试 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手册,也尝试了其中定义的一些功能,但没有像我预期的那样工作。问题是我实际上对这些功能的作用一无所知。

我的问题只是在哪里可以找到诸如所有函数和参数详细信息、返回值的文档之类的东西,我的意思是所有头文件中定义的所有函数的用户手册。

我不相信这样的东西真的存在,但如果你们帮助我找到接近那个的东西,我将非常感激。

我正计划学习 fork、pipe、signals、process、thread 等...,我知道还有很长的路要走。请帮帮我。

4

1 回答 1

2

您应该使用 POSIX 标准sleep功能,而不是忙着等待delay_sec......(并使用usleep微秒延迟,或者更好nanosleep

我建议安装开发手册页(例如manpages-devDebian 或 Ubuntu 上的软件包)。

否则,请查看此处的 sleep(3) 手册页

我强烈建议阅读一些关于高级 Unix 编程的好书,然后阅读一些关于高级 Linux 编程的书,然后阅读一些关于 POSIX 线程的好书。

还可以在 Wikipedia 上了解有关Linux 内核系统调用等的更多信息

于 2012-03-05T12:41:54.723 回答