【问题标题】:Unix programming headerfile details [closed]Unix编程头文件详细信息[关闭]
【发布时间】:2012-03-05 12:37:03
【问题描述】:

我是编程领域的新手。现在我正在尝试 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 等...,我知道还有很长的路要走。请帮帮我。

【问题讨论】:

    标签: unix documentation header-files time.h


    【解决方案1】:

    您应该使用 POSIX 标准 sleep 函数,而不是忙于等待 delay_sec ...(并使用 usleep 进行微秒延迟,或者更好的是 nanosleep

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

    否则,请看例如在the sleep(3) man page这里。

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

    还可以在 Wikipedia 上了解有关 Linux kernelSystem calls 等的更多信息

    【讨论】:

    • 附加资源:POSIX 2008 文档。这告诉你什么是标准的,什么不是;它可以帮助您保持代码的可移植性(如果可移植性是一个问题,它可能还没有,但很可能最终会出现)。
    猜你喜欢
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    相关资源
    最近更新 更多