Você já quis fazer um programa C esperar um certo tempo?
Você pode configurar uma técnica para permitir que o tempo passe, por exemplo: ao mostrar uma página inicial (um aviso ou dica) para um jogo.
Ok, aqui estão algumas maneiras de fazer o programa "ficar parado", continue lendo …
Passos
Etapa 1. Faça sua CPU funcionar por algum tempo sem produzir nenhum evento perceptível
Etapa 2. Não faça nenhuma outra operação durante esse atraso, a fim de criar um atraso de tempo simples
Método 1 de 2: a técnica "for-loop"
Etapa 1. Use um típico loop "for" seguido por uma instrução nula para implementar o atraso de tempo
Etapa 2. Escreva o seguinte, para obter um exemplo:
- para (i = 1; i <100; i ++);
- A declaração seguida de ";" faz com que o computador execute o loop 100 vezes sem nenhum evento perceptível. Isso apenas cria um atraso de tempo.
Método 2 de 2: a técnica de "dormir ()"
Passo 1. Use sleep () A função chamada sleep (int ms) declarada na qual faz o programa esperar o tempo em milissegundos especificado
Etapa 2. Inclua a seguinte linha em seu programa antes de "int main ()":
#incluir
Etapa 3. Insira, onde quer que você precise que seu programa faça um atraso:
- sono (1000);
- Altere "1000" para o número de milissegundos que deseja esperar (por exemplo, se quiser fazer um atraso de 2 segundos, substitua-o por "2000".
- Dica: Em alguns sistemas, o valor pode se referir a segundos, em vez de milissegundos. Portanto, às vezes 1000 não é um segundo, mas, na verdade, 1000 segundos.
Pontas
- A lógica acima pode ser implementada usando qualquer estrutura de loop seguida por uma instrução nula- ";", como usando os loops while ou do-while.
- Um milissegundo é 1/1000 de um segundo.
Avisos
- Essa técnica geralmente é inútil em qualquer coisa além de um programa trivial. Em geral, use cronômetros ou uma abordagem orientada a eventos para implementar isso. Caso contrário, o programa deixará de responder durante o tempo de atraso, o que nem sempre é bom. Além disso, escolher N em seu loop, se depender da execução da instrução, pode ter resultados surpreendentes. Aparentemente, o autor original nunca ouviu falar de um compilador de otimização … ele pode otimizar todo o loop se realmente não fizer nada!
- Se você estiver usando o loop for, o compilador pode otimizar o código e, como o loop não faz nada, removê-lo. Isso não acontece ao usar delay ().
- Observe que, ao usar a técnica for-loop, pode ser necessário um intervalo muito grande para i, porque uma instrução vazia é executada muito rápido. Esses números grandes podem não caber em um tipo inteiro.