Чтобы сделать это, и позволить другим вещам происходить между вызовами, предлагает использовать нить.
непроверенный псевдокод, но если вы используете Linux, он может выглядеть примерно так: (запустите поток и заставьте его в течение 60 секунд в цикле рабочих функций между вызовами на вызов периодической функции)
void *OneMinuteCall(void *param);
pthread_t thread0;
int gRunning == 1;
OneMinuteCall(void * param)
{
int delay = (int)param;
while(gRunning)
{
some_func();//periodic function
sleep(delay);//sleep for 1 minute
}
}
void some_func(void)
{
//some stuff
}
int main(void)
{
int delay = 60; //(s)
pthread_create(&thread0, NULL, OneMinuteCall, delay);
//do some other stuff
//at some point you must set gRunning == 0 to exit loop;
//then terminate the thread
return 0;
}
На какой платформе вы работаете? –
Что такое os? Cron или sceduler - хорошая ставка –
Я имею в виду, как запускать команду каждые X минут внутри программы C. Я не хочу планировать выполнение программы на C. – Jack