Подтвердить что ты не робот

Где Boost.Process?

Мне нужно выполнить программу и получить ее вывод stdout в С++. Я бы хотел, чтобы мой код тоже был кросс-платформенным.

Недавно открыв замечательный мир библиотек Boost С++ для всех ваших потребностей в кросс-платформе, я решил, что просто перейду на boost.org и зачитаю документацию Boost.Process. К моему большому удивлению, его там не было! Затем я приступил к выяснению, какое имя Boost предоставило своей кросс-платформенной библиотеке возможность запуска внешних процессов, но пока не удалось найти ее.

Поиск Google привел меня к Julio M. Merino Vidal Boost.Process, который, как представляется, является неофициальной библиотекой Boost, которую я искал. Как ни странно, я не могу найти ссылку для загрузки на этом веб-сайте. Также кажется, что никаких недавних изменений в проекте не было.

Наконец-то я смог найти ссылку для загрузки для Vidal Boost.Process на внешнем сайте

4b9b3361

Ответ 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

  • Версия GSOC2010

скачать: http://www.highscore.de/boost/gsoc2010/process.zip

manual: http://www.highscore.de/boost/gsoc2010/

  • Версия 0.31

скачать: 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/

  • I.S. Версия 0.1-0.4

скачать: https://github.com/boost-vault/Process

  • Версия 0?

скачать: 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

Ответ 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 и т.д.