Como programar um atraso na c

2 métodos:

técnica "laço"técnico "sleep ()"

Você sempre quis fazer um programa C pára de funcionar durante um certo período de tempo? Você pode definir uma técnica para o tempo passa, por exemplo, enquanto as amostras de uma página de boas-vindas (a notificação ou indicação) para um jogo. Bem, aqui estão algumas maneiras de fazer o programa "permanecer imóvel", Continue a ler ...

passos

1
Faça o seu CPU para rodar por um tempo produzindo algum evento imperceptível.
  • 2
    Não faça qualquer outra operação enquanto o atraso ocorre, para criar um intervalo de tempo simples.
  • método 1
    técnica "laço"
    1
    Usa um loop simples "para" seguida por uma frase vazio para implementar um atraso de tempo.


  • 2
    Faça o seguinte, por exemplo:
  • for (i = 1 - ilt; 100 - i ++);
  • # * A frase seguido por um sinal "-" o computador irá executar o loop de 100 vezes sem produzir qualquer forma perceptível. Isso simplesmente criar um atraso de tempo.

    método 2
    técnico "sleep ()"
    1


    Use sleep () função chamada sleep (int ms) declarou em que faz com que o programa para esperar durante um certo período de tempo especificado em milissegundos.
  • 2
  • 3


  • dicas

    • Um milissegundo é 1/1000 de um segundo.
    • A lógica acima pode ser implementado utilizando qualquer estrutura repetitiva seguido por um período nil"-"Tais como o uso de loops while ou do-while.

    avisos

    • Esta técnica geralmente inútil em casos que não são mais do que um programa trivial. Em geral, você pode usar os temporizadores ou abordagem orientada a eventos para implementar isso. Caso contrário, o programa não irá responder durante o tempo de espera, e muitas vezes isso não é bom. Além disso, fazer um loop é repetido N vezes, dependendo da execução de uma instrução, você pode ter um resultado inesperado. Aparentemente, o autor original nunca ouviu falar sobre a otimização do compilador ... poderia otimizar o ciclo inteiro se na verdade não faz nada!
    • Note-se que a técnica utilzar loop, você precisaria de um muito grande para mim período, como uma instrução vazia executa muito rapidamente. Um número tão grande não poderia caber em um tipo de dados inteiro.
    • Se você estiver usando o loop for, o compilador pode otimizar o código, e como o circuito não faz nada, excluí-lo. Isso não vai acontecer se você usar Delay ().
    Artigos Relacionados