К сожалению, я не знаю ни одного кроссплатформенного (однако это не значит, что его не существует).Просто создайте отдельный поток (например: boost.thread), который спит в течение длительного времени, добавляет разницу во времени к общему количеству, а затем повторяет.Когда программа закрыта, остановите поток, где она также может добавить этот счетчик, прежде чем она выйдет.