欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c語言定時(shí)器示例分享

 更新時(shí)間:2014年04月28日 10:47:11   作者:  
在linux下開發(fā),使用的是C語言。適用于需要定時(shí)的軟件開發(fā),以系統(tǒng)真實(shí)的時(shí)間來計(jì)算,它送出SIGALRM信號(hào)。每隔一秒定時(shí)一次

在linux下開發(fā),使用的是C語言。適用于需要定時(shí)的軟件開發(fā),以系統(tǒng)真實(shí)的時(shí)間來計(jì)算,它送出SIGALRM信號(hào)。每隔一秒定時(shí)一次

c語言定時(shí)器

復(fù)制代碼 代碼如下:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <errno.h>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include "pthread.h"
#include <netinet/in.h>
#include <signal.h>
#include <sys/time.h>


struct StructOfTimerStatus
{
    unsigned int count;                               //計(jì)數(shù)值
    unsigned int flag;                                //定時(shí)標(biāo)志
}
;

struct StructOfTimer

    struct StructOfTimerStatus      testtime;   //測(cè)試定時(shí)器
}
mytime;

 

void SetTimer(int sec,int usec);
void SigalrmFunc(void);


//定時(shí)器函數(shù)
/*******************************************************************************
* Discription:SIGALRM 信號(hào)響應(yīng)函數(shù);用作定時(shí)器
* Input      :
* Output    :
*******************************************************************************/
void SigalrmFunc(void)
{
    if(mytime.testtime.count++>20)      //定時(shí)1秒,20*50000=1s
    {
        mytime.testtime.flag=1;
        mytime.testtime.count=0;
    }
}


void SetTimer(int sec,int usec)
{
    struct itimerval value,ovalue;
    signal(SIGALRM,(void *)SigalrmFunc);

    value.it_value.tv_sec = sec;
    value.it_value.tv_usec = usec;
    value.it_interval.tv_sec = sec;
    value.it_interval.tv_usec = usec;

    setitimer(ITIMER_REAL,&value,&ovalue); 
}

int main(int argc, char **argv)
{
    SetTimer(0, 50000);
    while(1)
    {
        if(mytime.testtime.flag == 1)
        {
            mytime.testtime.flag = 0;
            system("clear");
            printf("Timing success\n");
        }
    }
    return 0;
}

相關(guān)文章

  • C++實(shí)現(xiàn)Linux下彈出U盤的方法

    C++實(shí)現(xiàn)Linux下彈出U盤的方法

    這篇文章主要介紹了C++實(shí)現(xiàn)Linux下彈出U盤的方法,實(shí)例分析了C++在Linux平臺(tái)上進(jìn)行IO操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • C++映像劫持后門實(shí)例分析

    C++映像劫持后門實(shí)例分析

    這篇文章主要介紹了C++映像劫持后門,實(shí)例分析了C++映像劫持后門的原理與相關(guān)實(shí)現(xiàn)技巧,有助于進(jìn)一步了解后門的原理,需要的朋友可以參考下
    2015-04-04
  • C++ std::make_unique和std::make_shared用法小結(jié)

    C++ std::make_unique和std::make_shared用法小結(jié)

    本文主要介紹了C++ std::make_unique和std::make_shared用法,使用std::make_unique和std::make_shared能夠簡(jiǎn)化動(dòng)態(tài)分配內(nèi)存和構(gòu)造對(duì)象的過程,提高代碼的安全性和可讀性,感興趣的可以了解一下
    2023-11-11
  • C語言實(shí)現(xiàn)自行車管理系統(tǒng)

    C語言實(shí)現(xiàn)自行車管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)自行車管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C語言深入講解棧與堆和靜態(tài)存儲(chǔ)區(qū)的使用

    C語言深入講解棧與堆和靜態(tài)存儲(chǔ)區(qū)的使用

    對(duì)大多數(shù)C 語言初學(xué)者來說,堆棧卻是一個(gè)很模糊的概念。堆棧是一種數(shù)據(jù)結(jié)構(gòu),一個(gè)在程序運(yùn)行時(shí)用于存放的地方,相信這可能是很多初學(xué)者共同的認(rèn)識(shí),靜態(tài)存儲(chǔ)區(qū)即內(nèi)存在程序編譯的時(shí)候就已經(jīng)分配好,這塊內(nèi)存在程序的整個(gè)運(yùn)行期間都存在
    2022-04-04
  • 詳解C語言之操作符

    詳解C語言之操作符

    這篇文章主要以圖文結(jié)合的方式為大家詳細(xì)介紹了C語言的操作符知識(shí),感興趣的小伙伴們可以參考一下,希望能給你帶來幫助
    2021-11-11
  • C++中const、volatile、mutable使用方法小結(jié)

    C++中const、volatile、mutable使用方法小結(jié)

    這篇文章主要介紹了C++中const、volatile、mutable使用方法小結(jié),需要的朋友可以參考下
    2020-01-01
  • C語言基礎(chǔ)應(yīng)用處理學(xué)生打分?計(jì)算時(shí)間?最少硬幣問題詳細(xì)過程

    C語言基礎(chǔ)應(yīng)用處理學(xué)生打分?計(jì)算時(shí)間?最少硬幣問題詳細(xì)過程

    很多的問題其實(shí)可以用編程來解決作答,本篇文章帶你用C語言解決最少硬幣問題、計(jì)算已經(jīng)過去了多久、學(xué)生成績自動(dòng)打分來做基礎(chǔ)的訓(xùn)練
    2022-02-02
  • C++中的String的常用函數(shù)用法

    C++中的String的常用函數(shù)用法

    這篇文章主要介紹了C語言中String的常用函數(shù)用法,對(duì)學(xué)習(xí)String的小伙伴有一定的參考價(jià)值,感興趣的小伙伴可以借鑒一下
    2023-03-03
  • c語言10個(gè)經(jīng)典小程序

    c語言10個(gè)經(jīng)典小程序

    c語言的經(jīng)典程序,學(xué)習(xí)c語言的初學(xué)者可以參考下
    2013-01-01

最新評(píng)論