EDIT: похоже, что он функционирует сейчас. Код обновлен, чтобы показать мои изменения. Спасибо за вашу помощь.<time.h>/<ctime> не считаются клещами
Я предполагаю, что я просто глуп, но я пытаюсь использовать ctime для подсчета количества циклов процессора по всей моей программе. Я пишу алгоритм шифрования для школьного проекта, и я пытаюсь включить таймер, чтобы добавить шумовые процессы, уравнив количество времени между различными комбинациями клавиш/открытого текста. Вот небольшой тест для CTime:
#include <iostream>
#include <string>
#include <ctime>
int main (int arc, char **argv)
{
double elapsedTime;
const clock_t start = clock();
int uselessInt = 0;
for (int i = 0; i <= 200; i++)
{
uselessInt = uselessInt * 2/3 + i;
std::cout << uselessInt << std::endl;
}
clock_t end = clock();
elapsedTime = static_cast<double>(end - start);
std::cout << elapsedTime << " CPU ticks have elapsed since this application's initiation." << std::endl;
return (0);
}
который печатает:
0
1
2
4
/* ... long list of numbers ... */
591
594
0 CPU ticks have elapsed since this application's initiation.
[[email protected] Desktop]$
Я использую GCC (G ++) и, кажется, что CTIME/time.h просто не считая тиков, как я хочу этого. Может ли кто-нибудь определить проблему? Я относительный любитель на этом языке.
'clock()' обычно измеряет время процессора в системах, отличных от Windows. Вероятно, вы не используете достаточное количество процессорного времени для отображения этой короткой программы. См. Http://stackoverflow.com/q/2134363/10077 –
Нет, проблема в том, что он отбрасывает от тиков до секунд. –
В этой программе отсутствует ')'. –