在某段程序中加计时器功能 每隔100ms发一次
时间: 2024-03-23 13:41:45 浏览: 15
可以使用 C++11 标准库中的 `std::chrono` 头文件来实现计时器的功能。具体可以参考下面的代码示例:
```cpp
#include <iostream>
#include <chrono>
#include <thread>
int main() {
auto start_time = std::chrono::steady_clock::now(); // 获取程序开始时间
// 执行一段需要计时的代码块
for (int i = 0; i < 1000000; ++i) {
// some code here
}
auto end_time = std::chrono::steady_clock::now(); // 获取程序结束时间
// 计算程序执行时间
auto elapsed_time = std::chrono::duration_cast<std::chrono::milliseconds>(end_time - start_time).count();
std::cout << "Elapsed time: " << elapsed_time << " ms" << std::endl;
// 每隔 100ms 发送一次计时器信息
for (int i = 0; i < elapsed_time; i += 100) {
std::this_thread::sleep_for(std::chrono::milliseconds(100)); // 等待 100ms
std::cout << "Time elapsed: " << i + 100 << " ms" << std::endl;
}
return 0;
}
```
这个程序会先执行一段需要计时的代码块,然后计算程序执行时间并输出。接着,程序会每隔 100ms 发送一次计时器信息。在发送计时器信息的过程中,我们使用了 `std::this_thread::sleep_for` 函数来让程序等待 100ms。