是否有一些特定的迭代次数,我可以使用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++);
}
虽然,&lt; = 8 * pow(10,4)花了0.206秒。编译器是GCC 4.9.2。 IDE是代码块。
我的电脑的规格:操作系统:Windows 8.1
答案 0 :(得分:0)
根据收到的评论,我发布了您的问题的答案。
无法制作计时器,因为:
必须使用实时操作系统来实现这一目标。非实时操作系统中存在太多抖动。 Windows可能会决定暂时安排其他进程,或者使用CPU进行处理。内核网络,磁盘I / O等优先于时间。 (由nos)
只能在标准C ++中的托管环境中“制作自己的计时器”。定时器本质上是一种与OS调度程序通信的机制,并且需要特定于平台的OS服务。 (由Kerrek SB提供)
编译器会优化这样的循环,并通过死码消除(通过πάνταῥεῖ和Jongware)将其删除。