Где Boost.Process?
Мне нужно выполнить программу и получить ее вывод stdout в С++. Я бы хотел, чтобы мой код тоже был кросс-платформенным.
Недавно открыв замечательный мир библиотек Boost С++ для всех ваших потребностей в кросс-платформе, я решил, что просто перейду на boost.org и зачитаю документацию Boost.Process. К моему большому удивлению, его там не было! Затем я приступил к выяснению, какое имя Boost предоставило своей кросс-платформенной библиотеке возможность запуска внешних процессов, но пока не удалось найти ее.
Поиск Google привел меня к Julio M. Merino Vidal Boost.Process, который, как представляется, является неофициальной библиотекой Boost, которую я искал. Как ни странно, я не могу найти ссылку для загрузки на этом веб-сайте. Также кажется, что никаких недавних изменений в проекте не было.
Наконец-то я смог найти ссылку для загрузки для Vidal Boost.Process на внешнем сайте
Ответы
Ответ 1
Хулио М. Мерино Видал, который, я верю, автор оригинала, написал в этот пост за 2007 год, что у него не было времени завершите его.
Развитие было принято Борисом Шаллином. Это версия, которую вы нашли в http://www.highscore.de/boost/process/. Согласно этому сообщению он все еще активно развивает его.
Существует еще одна версия, Илья Соколов.
По вашему другому вопросу:
Не могли бы вы предложить другие межплатформенные библиотеки для управления простым запуском и взаимодействием с внешними процессами?
вы можете посмотреть эту страницу wiki, в которой перечислены альтернативы.
В зависимости от ваших потребностей, popen() также может выполнять задание.
Ответ 2
Boost.Process был принят для включения в Boost 9 ноября 2016 года; и был включен в 1.64, выпущенный 19 апреля 2017 года. Boost.Process теперь является официальной библиотекой Boost!
Документация доступна здесь: http://www.boost.org/doc/libs/1_64_0/doc/html/process.html
Для записи источники, которые были пересмотрены с 27 октября 2016 года по 5 ноября 2016 года, доступны на GitHub:
скачать: https://github.com/klemens-morgenstern/boost-process
manual: http://klemens-morgenstern.github.io/process/index.html
Вы можете найти в Интернете несколько более старых версий этой библиотеки. Они все более или менее несовместимы:
- Версия 0.5 (последняя, от 3 декабря 2012 г.)
скачать: http://www.highscore.de/boost/process0.5/process.zip
manual: http://www.highscore.de/boost/process0.5/index.html
скачать: http://www.highscore.de/boost/gsoc2010/process.zip
manual: http://www.highscore.de/boost/gsoc2010/
скачать: http://www.highscore.de/boost/process.zip
manual1: http://www.highscore.de/boost/process/
manual2: http://www.highscore.de/cpp/process/
Я думаю, что это то же самое, что в http://svn.boost.org/svn/boost/sandbox/process/boost/
скачать: https://github.com/boost-vault/Process
скачать: http://www.netbsd.org/~jmmv/process.zip
manual: http://www.netbsd.org/~jmmv/process/
Есть другая версия, которая выглядит как ветки: https://github.com/JeffFlinn/boost-process и https://github.com/boost-vault/Process.
Для частичной истории проекта посмотрите http://www.highscore.de/cpp/process/#introduction
Ответ 3
Boost Process был одним из проектов Google Summer of Code в этом году. Веб-сайт GSOC 2010 Boost Process http://www.highscore.de/boost/gsoc2010/.
Библиотека по-прежнему неофициальна, но ее разработчики считают, что она достаточно стабильна, чтобы запросить формальный обзор.
Ответ 4
По состоянию на 18 августа 2012 года более новая версия Boost.Process(v0.5) была выпущена в http://www.highscore.de/boost/process0.5/
надеюсь, что это поможет,
Philipp
Ответ 5
Другим вариантом может быть модульная конструкция POCO, см. Process::launch()
, который имеет перегрузку, которая принимает Pipes для входа, выхода и ошибки.
Ответ 6
Похоже, что Boost.Process находится в области sandbox, что предполагает, что оно было предложено для включения и, вероятно, все еще остается работать, но не считается стабильным, документированным и/или полезным, чтобы быть включенным в основной выпуск ускорения.
Ответ 7
В июле 2015 года, похоже, Boost.Process
был запланирован для повторного официального просмотра Boost.
Ответ 8
Части Boost.Process доступны в нескольких автономных библиотеках в Boost сейчас: Boost.Interprocess, Program Options и т.д.
Ответ 9
Новый Boost Process теперь находится в стадии бета-версии и будет доступен в Boost 1.64.0.
http://www.boost.org/doc/libs/1_64_0_b2/doc/html/process.html