![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
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 — A Foundation to Sleep On. Этот документ обеспечивает основу и мотивацию для ключевых проектных решений и является источником большой информации в этой документации.
В дополнение к часам, предусмотренным стандартным предложением,Boost.Chronoпредоставляет конкретные технологические и резьбовые часы.
Чтобы сделать временные установки Boost. В более общем смысле, библиотека предоставляет ряд часов, которые представляют собой тонкие обертки вокруг API времени процесса операционной системы, тем самым позволяя извлекать время настенных часов, время процессора пользователя и время процессора системы процесса. Время настенных часов - это сумма времени процессора и времени системного процессора. (На POSIX-подобные системы это опирается<times()
>. Для Windows это<GetProcessTimes()
>.
Boost.Chronoбиблиотека предоставляет:
duration
>. Примеры длительности времени включают дни<minutes
>,<seconds
>и<nanoseconds
>, которые могут быть представлены с фиксированным числом тактовых клещей на единицу. Все эти единицы времени объединены общим интерфейсом<duration
>.time_point
>А<time_point
>представляет собой эпоху плюс или минус а<duration
>. Библиотека оставляет эпохи неустановленными.<time_point
>связано счасами.system_clock
>,<steady_clock
>и<high_resolution_clock
>. Часы представляют собой пару<time_point
>и<duration
>, и функцию, которая возвращает<time_point
>, представляющуютеперь.Чтобы сделать временные средства более полезными,Boost.Chronoпредоставляет ряд часов, которые представляют собой тонкие обертки вокруг API-интерфейсов времени операционной системы, тем самым позволяя извлекать время настенных часов, время процессора пользователя, время процессора системы, затрачиваемое процессом,
process_real_cpu_clock
>, фиксирует время процессора настенных часов, затраченное текущим процессом.process_user_cpu_clock
>, фиксирует время, затрачиваемое пользователем-процессором на текущий процесс.process_system_cpu_clock
>, фиксирует время, затрачиваемое процессором на текущий процесс.process_cpu_clock
>, который фиксирует время реального, пользовательского и системного процессоров вместе.thread_clock
>непрерывные часы, дающие время, затрачиваемое текущей нитью (при поддержке платформы).Наконец,Boost.Chronoвключаеттипрегистрации для<duration
>и<time_point
>, чтобы разрешить использование эмулированного авто с компиляторами C++03.
Он содержит в себе<duration
>и<time_point
>. Это делает использование этих типов гораздо более удобным. Следуя философии «вы платите только за то, что используете», эта дополнительная функциональность расположена в заголовке, отдельном от
Он основан на<<boost/ratio/ratio_io.hpp>
>, чтобы обеспечить читаемое и гибкое форматирование и разбор типов в<<boost/chrono.hpp>
>. Это текстурное представление использует префиксыSI, когда это возможно. Это облегчает для<boost::milliseconds
>быть представленным текстом «миллисекунды», или гипотетический класс счетчиков, чтобы распечатать «миллиметр».<duration
>и<time_point
>i/o могут быть настроены через новые грани:<duration_units
>и<time_point_units
>. Пользователь может специализировать эти аспекты так, чтобы хроно i/o можно было локализовать. Тем не менее, рост. Chrono не предлагает комплексного решения.
<system_clock::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) ::
реклама |