2011-05-16 7 views
15

¿Hay alguna biblioteca multiplataforma para crear procesos (utilizando createProcess win32 api en windows, por ejemplo). para linux/windows/mac?hay biblioteca multiplataforma para llamar/crear proceso en C++

+1

No estoy seguro de por qué necesita una biblioteca completa para esto. ¿Su compilador no es compatible con '# ifdef'? –

+3

no quiero lidiar con api win32, ya lo hice alguna vez es una mierda – user63898

Respuesta

8
  1. Boost.Process harán que
  2. al igual que PoCo (procesos de espacio de nombres, en la Fundación)

Ninguno de estos son intrusivos bibliotecas, y ninguno de estos implica marcos de interfaz de usuario. Ambos admitirán enlaces estáticos sin grandes gastos generales.

+1

Puede agregar que boost :: process ha sido revisado y rechazado porque necesita algunos cambios en la implementación (pero aún funciona). Eso es importante porque si una versión de boost :: process entra en acción (votó a favor de la inclusión), no tendrá la misma interfaz que la implementación actual. – Klaim

+0

@Klaim: agregó una nota sobre ese – sehe

+0

¿qué lib en poco? – user63898

7

Puede usar Qt, que implementa muchas utilidades de sistema operativo de una manera independiente de la plataforma, por ejemplo. procesos, hilos, redes, interfaz gráfica de usuario, por supuesto, ....

+0

sí, me encanta, pero es demasiado grande para mí incluir – user63898

1

wxWidgets también contiene una biblioteca de control de procesos multiplataforma para generar procesos secundarios a través de la clase wxProcess. Si se necesita un enrutamiento multiplataforma, también se puede manejar a través de la clase wxThread. En general, wxWidgets es una buena biblioteca multiplataforma que es bastante liviana y bastante sencilla de usar. Puede encontrar algunos excelentes tutoriales para comenzar en el sitio web principal que le muestran cómo iniciar y ejecutar una aplicación.

2

Pude ejecutar el bloc de notas usando: std :: system ("notepad.exe"); Creo en Linux también debería funcionar.

Cuestiones relacionadas