![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Filesystem HomeBoost , ,
IntroductionБиблиотека Boost.Filesystem предоставляет возможности для манипулирования файлами и каталогами и путями их идентификации. К особенностям библиотеки относятся:
DocumentationУчебник- Нежное введение в библиотеку, с примерами программ, предоставленных для экспериментов. Ссылка- Формальная документация в стиле стандарта C++ для каждого компонента библиотеки. FAQЧасто задаваемые вопросы. Руководство по переносимости- Помощь для тех, кто занимается написанием кода для работы на нескольких операционных системах. Устаревшие черты— выявляет устаревшие признаки и их замену. Версия 3 Введение- Нацелены на пользователей предыдущего Boost. Версии файловой системы. Версия 3 Дизайн- Исторический документ с начала процесса проектирования версии 3. Оригинальный дизайн- Исторический документ с начала процесса проектирования версии 1. Список дел- Разработка системы Boost.Filesystem в процессе разработки. Using the libraryПовышаю. Файловая система реализована как отдельно скомпилированная библиотека, поэтому вы должны установить двоичные файлы в месте, которое может быть найдено вашим линкером. Если вы будете следовать инструкциямBoost Getting Started, это уже сделано для вас. Coding guidelinesДля нового кода настоятельно рекомендуется определить< CautionsПосле прочтения учебника вы можете погрузиться прямо в простые, похожие на скрипты программы с помощью библиотеки файловой системы! Однако, прежде чем делать какую-либо серьезную работу, есть несколько предостережений: Effects and Postconditions not guaranteed in the presence of race-conditionsСпецификации функций файловой системы следуют форме стандартной библиотеки C++, определяя поведение с точки зрения эффектов и пост-условий. Еслиусловие расысуществует, пост-условия функции могут перестать быть истинными к тому времени, когда функция возвращается к абоненту.
ExceptionsЕсли не указано иное, функции Boost.Filesystem выбрасываютbasic_filesystem_errorисключения для сообщения о сбоях, таких как ошибки ввода/вывода. Реализации могут также использовать функции стандартной библиотеки C++, которые могут выброситьstd::bad_allocисключения для сообщения об ошибках распределения памяти. Эти исключения могут быть выброшены, даже если условие ошибки, ведущее к исключению, явно не указано в параграфе функции. Дляоперационных функций, имеющих доступ к внешней файловой системе, предусмотрены номинально небросающие версии, поскольку они часто используются в контекстах, где коды ошибок могут быть предпочтительным способом сообщения об ошибке. Даже номинально не бросающие версии функций будут бросатьstd::bad_allocИсключения для сообщения об ошибках распределения памяти. Однако функции, отмеченные< HeadersБиблиотека Boost.Filesystem содержит несколько заголовков:
Example programsСм., например,учебник. ImplementationТекущая реализация поддерживает операционные системы, которые обеспечивают POSIX или Windows API. Библиотека регулярно используется на операционных системах Apple OS X, HP-UX, IBM AIX, Linux, Microsoft Windows, SGI IRIX и Sun Solaris с использованием различных компиляторов. Он также используется несколькими операционными системами смартфонов. MacrosПри желании пользователи могут определить следующие макросы. Предоставляются разумные по умолчанию, поэтому пользователи могут игнорировать эти макросы, если у них нет особых потребностей.
Макросы BOOST_POSIX_API и BOOST_WINDOWS_API больше не поддерживаются. Building the object-libraryОбъект-библиотека будет построена автоматически, если вы используете систему Boost build.Начало. Он также может быть построен вручную с использованиемJamfile, поставляемого в каталогах libs/filesystem/build, или пользователь может построить проект IDE или создать файл, который включает в себя исходные файлы объектной библиотеки. Объектно-библиотечные исходные файлы поставляются в каталогsrc. Эти исходные файлы реализуют библиотеку для POSIX или Windows совместимых операционных систем; никакая реализация не поставляется для других операционных систем. Обратите внимание, что многие операционные системы, обычно не рассматриваемые как системы POSIX, такие как устаревшие операционные системы мэйнфрейма или встроенные операционные системы, поддерживают совместимые с POSIX файловые системы и поэтому будут работать с библиотекой файловых систем. Объект-библиотека может быть построена для статического или динамического (shared/dll) соединения. Управляется макросами BOOST_ALL_DYN_LINK или BOOST_FILESYSTEM_DYN_LINK. См. страницуОтдельная компиляциядля описания используемых методов. Note for Cygwin usersТребуется Cygwinверсии 1.7 или более поздней, поскольку поддерживаются только версии GCC с широкими строками символов. Код реализации библиотеки рассматривает Cygwin как платформу Windows и, таким образом, использует API Windows и использует синтаксис пути Windows в качестве нативного синтаксиса пути. Version historyVersion 4В стадии разработки- Добавить поддержкуISO C++ Технические характеристики файловой системы. Файловая система TS основана на Boost. Файловая система версии 3, с небольшим количеством изменений. Большинство пользовательских кодов, написанных для версии 3, должны работать без изменений с версией 4. Version 3Рост 1.44.0 - июнь. 2010 — Интернационализация через единый класс< Пётр Димов предложил использовать класс «единый путь», а не шаблон класса< Спасибо за комментарии от Роберта Стюарта, Зака Лейна, Питера Димова, Грегори Пила, Скотта МакМюррея, Джона Байтвея, Джеффа Флинна, Джеффри Босбума. Version 2Повышение 1,34.0 - май, 2007 — Интернационализация по шаблону< Так много людей внесли комментарии и сообщения об ошибках, что больше невозможно признать их индивидуально. Тем не менее, Питер Димов и Роб Стюарт должны быть особенно благодарны за их конструктивную критику и предложения. Теренс Уилсон и Крис Фрей внес свой вклад в программы синхронизации, которые помогли осветить проблемы производительности. Version 1Boost 1.30.0 — март 2003 — Первый официальный релиз Boost. Библиотека файловых систем была разработана и внедрена Беманом Доусом. Оригинальные классыdirectory_iteratorиfilesystem_errorбыли основаны на предыдущей работе Дитмара Куэля, измененной Яном Лангером. Томас Витт оказал особую помощь на более поздних стадиях первоначального развития. Питер Димов и Роб Стюарт сделали много полезных предложений и комментариев в течение длительного периода времени. Говард Хиннан помогал в вопросах интернационализации. Ключевыепроектные требованияипроектные реалиибыли разработаны в ходе широких дискуссий по списку рассылки Boost с последующими комментариями по первоначальной реализации. В ходе официального обзора были получены многочисленные полезные комментарии. Среди участников были Аарон Брашерс, Алан Беллингхэм, Алекс Беллингхэм, Алекс Беллхэм, Алекс Беллхэм, Алекс Беллхэм, Алекс Беллхэм, Алекс Розенберг, Билл Кемпф, Билл Сеймур, Билл Кемпф, Билл Сеймур, Билл Кемпф, Билл Кемпф, Билл Сеймур, Карл Дэниел, Чак Эллисон, Данл Миллер, Дэнл Нюффер, Дэнл Миллер, Дэнл Абрахамс, Дэвид Фрей, Дарин Адлер, Дэвид Абрахамс, Дэвид Фрейл, Дарин Адлер, Дэвид Абрахамс, Дитмар Кюхл, Дуглас Грегор, Дуглас Грегор, Эрик Грегор, Эрик Вудрафф, Гэри Пауэлл, Дженнаро Прота, Джефф Лейланд, Джованни Симс, Говард Ноулз, Ян Лангер, Ян Лангер, Ян Лангер, Ян Лангер, Ян Лэнгер, Дженс Джонс, Джим Хисло Длительная дискуссия о библиотечном рефлекторе комитета C++ освещала проблему «иллюзии переносимости», особенно в публикациях Пи Джей Плаугера и Пита Беккера. Уолтер Лэндри оказал большую помощь в освещении случаев использования символических ссылок для версии 1.31.0. Пересмотрено25 октября 201525 October, 2015[ORIG_END] --> © Copyright Beman Dawes, 2002-2005 Использование, модификация и распространение регулируются Лицензией на программное обеспечение Boost версии 1.0. См.www.boost.org/LICENSE_1_0.txt Статья Filesystem Home раздела может быть полезна для разработчиков на c++ и boost. Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: ::
|
|||||||||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |