![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Chapter 7. Boost.Chrono 2.0.5Boost , The Boost C++ Libraries BoostBook Documentation Subset , Part I. The Boost C++ Libraries (BoostBook Subset)
|
![]() |
Note |
---|---|
Кроме того, в примечаниях, таких как этот, указывается несущественная информация, которая предоставляет дополнительную информацию или обоснование. |
Наконец, вы можете мысленно добавить следующие фрагменты кода в этом документе:
// Include all of Chrono files #include <boost/chrono.hpp>
Мы все имеем дело со временем каждый день нашей жизни. Мы интуитивно знаем это с рождения. Таким образом, мы все очень знакомы с ним и считаем это простым делом. Моделирование времени в компьютерных программах должно быть таким же простым. Досадная правда заключается в том, что эта воспринимаемая простота является лишь глубиной кожи. К счастью, нам не нужно ужасно сложное решение для удовлетворения большинства наших потребностей. Однако чрезмерно упрощенные решения могут быть опасными и неэффективными и не будут адаптироваться по мере развития компьютерной индустрии.
Boost.Chrono реализует новые временные возможности на C++11, как предлагается в N2661 - Фонд для сна на. Этот документ содержит информацию и мотивацию для ключевых дизайнерских решений и является источником большой информации в этой документации.
В дополнение к часам, предусмотренным стандартным предложением, Boost.Chrono предоставляет конкретные технологические и ниточные часы.
Чтобы сделать время объектов Boost. Chrono в целом полезен, библиотека предоставляет ряд часов, которые являются тонкими обертками вокруг API рабочего времени операционной системы, тем самым позволяя извлекать время настенных часов, время процессора пользователя и время процессора системы процесса. Время настенных часов - это сумма времени процессора и времени процессора системы. (На POSIX-подобных системах это опирается на times()
. На Windows он опирается на GetProcessTimes()
Боост.Chrono библиотека предоставляет:
дукция
класс. Примеры продолжительности времени включают дни, минуты
, секунды
и наносекунды
, которые могут быть представлены с фиксированным количеством часовых клещей на единицу. Все эти единицы времени объединены с общим интерфейсом объекта duration
.time_point
. time_point
представляет собой эпоху плюс или минус дукция
. Библиотека оставляет неопределенные эпохи. time_point
ассоциируется с час.система_час
, устойчивый_час
и высокий_разрешение_час
. Часы - это пара time_point
и duration
, и функция, которая возвращает time_point
, представляющую now.Чтобы сделать временные установки более полезными, Boost.Chrono предоставляет ряд часов, которые являются тонкими обертками вокруг API-интерфейсов операционной системы, тем самым позволяя извлекать время настенных часов, время процессора пользователя, время системного процессора, проведенное процессом,
process_real_cpu_hour
, захватывает время процессора настенных часов, проведенное в текущем процессе.process_user_cpu_ hours
, фиксирует время пользователя-CPU, проведенное текущим процессом.process_system_cpu_ hours
, фиксирует время системы-CPU, проведенное текущим процессом.процесс_cpu_часовой
, который объединяет реальные, пользователь-CPU и системно-CPU процессы.thread_hour
резьбовые часы, дающие время, проведенное текущей нитью (при поддержке платформы).Наконец, Boost.Chrono включает в себя typeof регистрацию для удаление
и time_point
, чтобы разрешить использование эмулированного авто с компиляторами C++03.
Он предоставляет I/O для дукция
и Time_point
. Этот I/O делает использование этих типов гораздо более удобным. Следуя философии «вы платите только за то, что используете», эта дополнительная функция находится в заголовке отдельно от
Он основан на <boost/ratio/ratio_io.hpp>
для обеспечения читаемого и гибкого форматирования и парирования для типов в <boost/chrono.hpp>gt>>>>>>>>>>>>>>>>> Это текстовое представление использует префиксы SI, когда это возможно. Это упрощает для
. Пользователь может специализироваться на этих гранях, чтобы chrono i/o мог быть локализован. Как бы то ни было. Chrono не предоставляет полное локальное решение.boost::milliseconds
быть представленным текстом "milliseconds", или гипотетическим классом метра для печати "миллиметрового". The duration
and the time_point
i/o можно подгонять через новые грани: duration_units
и time_point_units
система_час::time_point
I/O предлагается в терминах временных точек UTC, строго руководствуясь ISO 9899:1999, Языки программирования - C, ISO 9945:2003, Информационные технологии - портативный интерфейс операционной системы (POSIX) и ISO 8601:2004, Элементы данных и форматы обмена - Обмен информацией - Представление дат и времени.
Несколько простых функций округления для работы с продолжительностью.
Основные часы, предоставляемые операционными системами, подвержены многим, казалось бы, произвольным политикам и нарушениям осуществления. Это вежливый способ сказать, что они, как правило, опасны, и каждая операционная система или даже каждый часы имеет свои жестокие и необычные формы легкости. Не делайте ставку на их точность, если вы не глубоко знакомы с тем, что гарантирует конкретная операционная система, что часто очень мало.
Последний пересмотр: 21 сентября 2016 года в 14:37:13 GMT |
Статья Chapter 7. Boost.Chrono 2.0.5 раздела The Boost C++ Libraries BoostBook Documentation Subset Part I. The Boost C++ Libraries (BoostBook Subset) может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Part I. The Boost C++ Libraries (BoostBook Subset) ::
реклама |