Cómo escribir un programa interrumpible en lenguaje C
Programas residentes
En términos sencillos
Significa que
después de que el programa haya terminado de ejecutarse,
aún debe conservarse
Datos temporales
y
estado de ejecución,
esperando el siguiente
llamar
Continuar
Ejecución
Diferencias con los programas ordinarios
:
Programas ordinarios (como un
Subfunción)
Una vez completada la llamada
Los datos temporales
ya no son necesarios, p>
asignada
Memoria
Espacio
se
recupera
mientras
residente El programa
es
el que mantiene a estos
residente
el programa
principal
Se utiliza para
funciones de interrupción
Las funciones que no son de interrupción
también
tienen aplicaciones, pero menos. Dé ejemplos respectivamente:
1) Para
interrupción:
Supongamos
un
uso
Temporizador
Hecho
función de reloj, temporizador
establecido en
1 como interrupción.
main()
{
Mostrar
Hora
hora, minutos, segundos;
//
Bucle
Visualización de la pantalla del pincel
}
Función de interrupción
{
seg++;
si(seg>=60)
{
seg=0;
min++;
}
if(min>=60)
{
min=0;
hora++;
}
if(hora>=24)
{
hora=0;
}
}
En este momento
puedes ver que
interrumpe el programa
en
Después de ejecutar
no se puede
cambiar
3
variables
Borrar,
porque
la próxima vez
interrupción
se seguirá utilizando
la última vez
valor,
este programa
debe
siempre
residente
Memoria;
2) Otra
Común
Función
Supongamos
Hizo un programa
En el programa
hay una
función aa, y
función
aa
I Sólo puedo
dejar que se ejecute
3 veces antes de tener que
cerrar el programa (esto
se usa en
Verificación de contraseña
)
aa()
{
Verificación de contraseña veces n+1
Devuelve n
y
Resultado de verificación
}
Entonces esta
una función
p>
En la
etapa de verificación
contraseña
es necesario
permanente
p>Memoria