Bucle de execuție infinite

Bucle de execuție infinite

O bucla infinită de program este un fir de execuție stabil care nu se termina niciodată în mod "natural". Terminarea firului de execuție se face în mod exceptional de utilizator sau de o întrerupere software sau hardware. 

Exemple de bucle infinite

Exemplul clasic de for infinit.

#include "stdio.h"
 
int main () {

   for( ; ; ) {
      printf("This loop will run forever.\n");
   }

   return 0;
}

Exemplul clasic do-while.

#include "stdio.h"

int main () 
{
   do 
   {
      printf("This loop will run forever.\n");
   }
   while(1);
   return 0;
}


#include "stdio.h"
 
int main () 
{
   while (1)
   {
      printf("This loop will run forever.\n");
   }
    return 0;
}
Bucla infinita "accidentala" :D

#include "stdio.h"
 
int main () 
{
  unsigned char i = 0;

   for( i=0; i<257; i++) 
   {
      printf("This loop will run forever.\n");
   }
}   

Ideea de baza când folosiți buclele infinite sa va asigurați ca exista o cale excepționala de ieșire :D . De obicei watchdog-ul microcontroler-ului asigura funcționarea normala a programului și dacă exista vreo bucla infinita "accidentala" atunci face un reset forțat , adică îți taie alimentarea. Pentru cei care nu știu ce este un watchdog, definiția ar fi următoarea, watchdog-ul este un cip hardware care dacă nu mai primește un semnal periodic de 5V de la microcontroler atunci taie alimentarea sistemului.   O zi minunată tuturor !

Etichete

Afișați mai multe

Arhiva

Afișați mai multe