Я пытаюсь создать файл журнала для моей программы на C ++.Моя цель - поставить две метки времени в двух точках моей программы и напечатать в файле период времени между этими двумя точками.Я делаю это потому, что хочу знать, какие части моего кода занимают больше всего времени, чтобы я мог вносить улучшения (поэтому может быть несколько кусков кода, которые я хочу измерить).До сих пор я создал функцию, которая при вызове печатает строку, которую я передаю в качестве аргумента, в файл:
#define LOGFILE "myprog.log"
void Log (std::string message){
std::ofstream ofs;
ofs.open(LOGFILE, std::ofstream::out | std::ios::app);
ofs << message << std::endl;
ofs.close();
}
Однако мне трудно понять, как распечататьОтметка времени процессора.Во-первых, я не знаю, какой формат измерения времени мне следует использовать (я должен использовать типы chrono или time_t?) Я пытаюсь распечатать период времени, поэтому было бы полезно, если бы был тип для длительности (I 'мы пробовали chrono :: duration, но, похоже, требуется поддержка C ++ 11).Во-вторых, если я знаю, какой тип использовать, как мне напечатать его в файл?Есть ли способ привести этот тип к строке?Или я могу передать это непосредственно моей функции и напечатать как-нибудь?
Это очень беспокоило меня в последние пару дней, и я не могу понять это, поэтому любой вклад был бы действительно полезным.Заранее спасибо!