如何在c中使用codeblocks 13.12(mingw)中的delay()函数?

时间:2014-12-12 15:47:49

标签: c mingw delay codeblocks timedelay

当我编写包含延迟的程序时,编译器会显示错误  E:\ c programms \ ma.o:ma.c ||未定义的引用`delay'| || ===构建失败:1个错误,0个警告(0分钟,0秒(秒))=== |

3 个答案:

答案 0 :(得分:3)

尝试添加windows.h并使用Sleep(sleep_for_x_milliseconds)代替delay() - 酷人

答案 1 :(得分:3)

你可以使用你自己创建的delay()函数来延迟语句中的语句,如参数中传递的那样......

功能体低于.....

#include<time.h>
void delay(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock());
}

<小时/> 只需将上述代码粘贴到C / C ++源文件中......

示例程序如下......

#include<stdio.h>
#include<time.h>
void delay(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock());
}
int main()
{
    int i;
    for(i=0;i<10;i++)
    {
    delay(1000);
    printf("This is delay function\n");
    }
    return 0;
}

答案 2 :(得分:0)

尝试此功能:

#include <time.h> // clock_t, clock, CLOCKS_PER_SEC

void delay(unsigned int milliseconds){

    clock_t start = clock();

    while((clock() - start) * 1000 / CLOCKS_PER_SEC < milliseconds);
}
  • 参数毫秒是非负数。
  • clock()返回自特定程序执行相关的纪元以来经过的时钟周期数。
  • CLOCKS_PER_SEC此宏扩展为表示每秒时钟周期数的表达式,其中时钟周期是常量但系统特定长度的时间单位,如功能时钟返回的那样。