Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Таймер, часы


Автор: Mormishka 1.4.2011, 20:21
Как создать таймер, время процесса в консольном приложении?

Автор: boostcoder 1.4.2011, 20:22
чо-чо? Оо

Автор: Mormishka 2.4.2011, 06:26
boostcoder, 
Разве в стандартной библиотеки этого нет, нужно обязательно подключать boost(который я до сих пор уже никак не могу подключить )?

Автор: boostcoder 2.4.2011, 06:27
Mormishka, объясни что тебе надо? я так и не смог понять вопроса.

а что за сложности со сборкой буста?

Автор: Mormishka 2.4.2011, 08:35
boostcoder, 
Нужно чтоб при запуске консольного приложения, запускася секундамер.

Не можете на форуме создать подробную инструкцию как подключать boost для разных компиляторов?

Автор: afiskon 2.4.2011, 19:07
Я могу ошибаться, но вроде бы boost подключается через #include

По поводу вашего вопроса - создайте отдельный поток (CreateThread под windows или средствами вашей кроссплатформенной библиотеки, того же boost к примеру) и в нем считайте время.

Автор: AntonGrey 3.4.2011, 23:00
Для windows удобным способом будет использование функции GetTickCount()

Код

int main(){
    DWORD A1;
    A1 = GetTickCount();
   
   //Выполняется тело программы 

    printf("==%d  sec\n", (GetTickCount() - A1)/1000);   

    return 0;
}



Не забудьте 
Код
#include "windows.h"

Автор: Mormishka 4.4.2011, 17:53
А для консольного приложения нет?

Автор: Alca 4.4.2011, 18:24
http://www.cplusplus.com/reference/clibrary/ctime/clock_t/

Автор: baldina 4.4.2011, 18:31
Цитата(AntonGrey @  3.4.2011,  23:00 Найти цитируемый пост)
ля windows удобным способом будет использование функции GetTickCount()

Цитата(Mormishka @  4.4.2011,  17:53 Найти цитируемый пост)
А для консольного приложения нет? 

Код

#include <ctime>
#include <iostream>

int main ()
{
  clock_t t1=clock ();
  /* do something here */
  clock_t t2=clock ();
  std::cout <<  "elapsed time: " << double(t2-t1)/CLOCKS_PER_SECOND << "s\n";
}


но это еще не таймер, для таймера действительно отдельный поток нужен (и в консоли, и в оконном приложении), см. afiskon

Добавлено через 1 минуту и 11 секунд
Цитата(AntonGrey @  3.4.2011,  23:00 Найти цитируемый пост)
Для windows удобным способом будет использование функции GetTickCount()

ее кстати и в консольном не запрещено использовать smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)