36 lines
691 B
C++
36 lines
691 B
C++
|
#include <stdio.h>
|
||
|
#include <stdint.h>
|
||
|
|
||
|
#include <chrono>
|
||
|
#include <thread>
|
||
|
|
||
|
|
||
|
int
|
||
|
wait_a_while (int microseconds)
|
||
|
{
|
||
|
int num_times = 0;
|
||
|
auto end_time = std::chrono::system_clock::now() + std::chrono::microseconds(microseconds);
|
||
|
|
||
|
while (1)
|
||
|
{
|
||
|
num_times++;
|
||
|
auto wait_time = end_time - std::chrono::system_clock::now();
|
||
|
|
||
|
std::this_thread::sleep_for(wait_time);
|
||
|
if (std::chrono::system_clock::now() > end_time)
|
||
|
break;
|
||
|
}
|
||
|
return num_times;
|
||
|
}
|
||
|
|
||
|
int
|
||
|
main (int argc, char **argv)
|
||
|
{
|
||
|
printf ("stop here in main.\n");
|
||
|
int num_times = wait_a_while (argc * 1000);
|
||
|
printf ("Done, took %d times.\n", num_times);
|
||
|
|
||
|
return 0;
|
||
|
|
||
|
}
|