c++ boost cross-platform platform-independent boost-process
http://www.netbsd.org/~jmmv/process.ziphttp://www.highscore.de/boost/process.ziphttp://www.highscore.de/boost/gsoc2010/process.ziphttp://www.highscore.de/boost/process0.5/process.zip

c++ - ¿Dónde está Boost.Process?



cross-platform platform-independent (9)

Necesito ejecutar un programa y recuperar su salida stdout en c ++. Me gustaría que mi código también sea multiplataforma.

Habiendo descubierto recientemente el maravilloso mundo de las bibliotecas Boost c ++ para todas sus necesidades de plataforma cruzada, pensé que iría a boost.org y leería la documentación de Boost.Process. Para mi sorpresa, ¡no estaba allí! Luego procedí a averiguar qué nombre le dio Boost a su biblioteca multiplataforma para iniciar procesos externos, pero no lo he podido encontrar hasta ahora.

Una búsqueda en Google me llevó al Boost.Process Julio M. Merino Vidal, que parece ser la biblioteca no oficial de Boost que estaba buscando. Por extraño que parezca, parece que no puedo encontrar un enlace de descarga en ese sitio web. También parece que no ha habido novedades recientes con respecto al proyecto.

Finalmente pude encontrar un enlace de descarga para Vidal''s Boost.Process en un sitio externo y lo usaré por ahora, pero estoy bastante sorprendido por el esfuerzo que tuve que poner para tener en mis manos una biblioteca c ++ de plataforma cruzada para interactuar con procesos externos.

Entonces, ¿por qué no hay Boost.Process oficial? Parece que sería una adición muy valiosa. ¿O estoy pasando por alto totalmente la solución obvia aquí? ¿Podría sugerir otras bibliotecas multiplataforma para gestionar el inicio simple y la interacción con procesos externos?




Boost.Process fue aceptado para su inclusión en Boost el 9 de noviembre de 2016 ; y se ha incluido en el 1.64 publicado el 19 de abril de 2017. ¡Boost.Process ahora es una biblioteca oficial de Boost!

Su documentación está disponible aquí: http://www.boost.org/doc/libs/1_64_0/doc/html/process.html

Para el registro, las fuentes que fueron revisadas desde el 27 de octubre de 2016 hasta el 5 de noviembre de 2016 están disponibles en GitHub:

descargar: https://github.com/klemens-morgenstern/boost-process

manual: http://klemens-morgenstern.github.io/process/index.html

Puede encontrar en la web varias versiones anteriores de esta biblioteca. Todos son más o menos incompatibles:

  • Versión 0.5 (más reciente, a partir del 3 de diciembre de 2012)

descargar: http://www.highscore.de/boost/process0.5/process.zip

manual: http://www.highscore.de/boost/process0.5/index.html

  • Versión GSOC2010

descargar: http://www.highscore.de/boost/gsoc2010/process.zip

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

  • Versión 0.31

descargar: http://www.highscore.de/boost/process.zip

manual1: http://www.highscore.de/boost/process/

manual2: http://www.highscore.de/cpp/process/

Creo que es lo mismo que en http://svn.boost.org/svn/boost/sandbox/process/boost/

  • Versión IS 0.1-0.4

descargar: https://github.com/boost-vault/Process

  • Versión 0?

descargar: http://www.netbsd.org/~jmmv/process.zip

manual: Boost.Process

Hay otra versión que parece ramas: https://github.com/JeffFlinn/boost-process y https://github.com/boost-vault/Process .

Para obtener una historia parcial del proyecto, consulte http://www.highscore.de/cpp/process/#introduction



Julio M. Merino Vidal, quien es, creo, el autor original, escribió en este post de 2007 que no tuvo tiempo de completarlo.

El desarrollo fue asumido por Boris Schaeling. Esta es la versión que encontraste en http://www.highscore.de/boost/process/ . Según este post , todavía lo está desarrollando activamente.

Hay otra versión, por Ilya Sokolov .

Para su otra pregunta:

¿Podría sugerir otras bibliotecas multiplataforma para gestionar el inicio simple y la interacción con procesos externos?

podrías mirar esta página wiki que enumera las alternativas.

Dependiendo de sus necesidades, popen () también podría hacer el trabajo.


Para julio de 2015, parece que Boost.Process se programó para la revisión formal de Boost nuevamente.


Parece que Boost.Process se encuentra en el área de la zona de pruebas, lo que sugeriría que se ha propuesto su inclusión y que probablemente todavía se esté trabajando, pero no se ha considerado estable, documentado y / o lo suficientemente útil como para incluirlo en el impulsar la liberación.


Partes de Boost.Process están disponibles en varias bibliotecas independientes en Boost now: Boost.Interprocess, Program Options, etc.