How to calculate elapsed time with macro in C

1 Answer

0 votes
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

clock_t start, stop;
#define START if ( (start = clock()) == -1) { \
	printf("clock() error"); exit(1); \
} 

#define STOP if ( (stop = clock()) == -1) { \
	printf("clock() error"); \
	exit(1); \
} 

#define SHOWELAPSEDTIME printf("%2.3fs elapsed\n", ((double)stop - start) / CLOCKS_PER_SEC);

void sleep(unsigned int milliseconds) {
    clock_t counter = milliseconds + clock();
    while (counter > clock()) ;
}

int main(int argc, char **argv)
{
	START;
	sleep(19);
	STOP;
	SHOWELAPSEDTIME;

    return 0;
}

/*
run:

0.031s elapsed

*/

 



answered Dec 22, 2018 by avibootz
edited Dec 23, 2018 by avibootz

Related questions

1 answer 180 views
1 answer 122 views
1 answer 135 views
1 answer 89 views
89 views asked Oct 17, 2024 by avibootz
1 answer 100 views
100 views asked Aug 4, 2024 by avibootz
1 answer 100 views
100 views asked Aug 4, 2024 by avibootz
...