C ++使用时间作为变量来存储事件长度以便稍后重现
C++ Using Time as variable to store event length to reproduce later
长话短说:
我正在尝试测量事件(执行命令的设备)开始和结束之间的时间差,因为我想稍后将其重现为 return Home 命令。
但是,对于同一个事件,时间似乎相差很大,相差 x2 倍。
这是我的测试代码:
#include <stdio.h>
#include <time.h>
#include <iostream>
using namespace std;
int main ()
{
clock_t t;
t = clock();
for(int i =0; i < 50; i++) { cout << i << " ";}
t = clock() - t;
printf ("\nIt took me %d clicks (%f seconds).\n", t, ((double) t) / CLOCKS_PER_SEC);
return 0;
}
有谁知道更好的方法来获得更好的结果吗?
上下文:
通过蓝牙向设备发送命令,例如在按下 VK_UP 键时以 X 速旋转两个电机,并在 VK_UP 时停止电机 已发布。这个想法是使用 keypressed-keyreleased 之间的执行时间映射所有这些命令,然后构建一个 Return Home 函数。
嗯,首先,考虑使用 C++ 工具测量时间,就像这个问题一样:
Measuring execution time of a function in C++
那么,一段代码的执行时间可能会受到很多情况的影响,所以你应该把它当作一个随机变量,多次测量,或者测量次数之和除以重复次数。
最后,您的计算机不会将所有时间都花在执行您的程序上;所以 - 您可能想使用 time
程序或分析器应用程序来计算您的程序实际获得了多少处理器时间。
长话短说:
我正在尝试测量事件(执行命令的设备)开始和结束之间的时间差,因为我想稍后将其重现为 return Home 命令。
但是,对于同一个事件,时间似乎相差很大,相差 x2 倍。
这是我的测试代码:
#include <stdio.h>
#include <time.h>
#include <iostream>
using namespace std;
int main ()
{
clock_t t;
t = clock();
for(int i =0; i < 50; i++) { cout << i << " ";}
t = clock() - t;
printf ("\nIt took me %d clicks (%f seconds).\n", t, ((double) t) / CLOCKS_PER_SEC);
return 0;
}
有谁知道更好的方法来获得更好的结果吗?
上下文:
通过蓝牙向设备发送命令,例如在按下 VK_UP 键时以 X 速旋转两个电机,并在 VK_UP 时停止电机 已发布。这个想法是使用 keypressed-keyreleased 之间的执行时间映射所有这些命令,然后构建一个 Return Home 函数。
嗯,首先,考虑使用 C++ 工具测量时间,就像这个问题一样:
Measuring execution time of a function in C++
那么,一段代码的执行时间可能会受到很多情况的影响,所以你应该把它当作一个随机变量,多次测量,或者测量次数之和除以重复次数。
最后,您的计算机不会将所有时间都花在执行您的程序上;所以 - 您可能想使用 time
程序或分析器应用程序来计算您的程序实际获得了多少处理器时间。