没有标准库如何制作自己的计时器?

How can I make my own timer without standard library?

是否有一些特定的迭代次数,我可以使用 for loop,以便完全执行循环只需要 1 秒?例如下面的代码在我的机器上执行了 0.125 秒:

#include <iostream>
#include <cmath>

using namespace  std;

int main(){
    long long a=0;

    for (a=0;a<=pow(10,4);a++);
}

不过,a <= 8*pow(10,4) 花费了 0.206 秒。编译器是 GCC 4.9.2。 IDE 是代码块。

我的电脑规格:OS:Windows 8.1

我根据收到的评论发布了您问题的答案。

无法制作计时器,因为:

  • 迭代所花费的时间是不可预测的,这不仅取决于所使用的 CPU,还需要考虑电源管理和调度程序。 (来自 tux3)
  • 必须使用实时 OS 才能完成。非实时 OSs 抖动太多。 Windows 可以决定暂时安排其他进程,或者使用 CPU 例如内核网络、磁盘 I/O 等抢占时间。 (按编号)

  • 不能在托管环境中仅使用标准 C++ "make own timer"。计时器本质上是一种与 OS 调度程序通信的机制,为此需要特定于平台的 OS 服务。 (作者:Kerrek SB)

  • 编译器会优化这样的循环,并通过死代码消除将其删除(由 πìντα ῥεῖ 和 Jongware)。