• Jueves 2 de Mayo de 2024, 14:42

Autor Tema:  ¿Por qué no me compila utilizando "fork()"?  (Leído 2445 veces)

Qarl

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
¿Por qué no me compila utilizando "fork()"?
« en: Lunes 20 de Junio de 2011, 15:42 »
0
Muy buenas!
Estoy haciendo un programilla y necesito crear un proceso (hijo) a partir de mi programa (padre). Estuve buscando y encontré la función "fork()", la cual hace exactamente lo que busco. El problema es que no consigo compilar, siempre me salta error como si no estuviese definida.
Este es el error:
137 C:UsersQarlwxDev-C++main.cpp `fork' was not declared in this scope
Y en esa línea hay esto:
fork();
Me parece raro porque tengo incluida la cabecera necesaria para usar esa función, #include <unistd.h>.
Estoy usando wxDev-C++, aunque he probado con CodeLite y me da el mismo error.

Salu2 ;)

roleiland

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: ¿Por qué no me compila utilizando "fork()"?
« Respuesta #1 en: Lunes 20 de Junio de 2011, 16:04 »
0
No estoy seguro, pero fork() es una llamada POSIX de sistemas UNIX, y según parece estas en Windows. Lo que no sé es si para Windows tambien existe eso, pero creo que no.

Qarl

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: ¿Por qué no me compila utilizando "fork()"?
« Respuesta #2 en: Lunes 20 de Junio de 2011, 20:00 »
0
Efectivamente, creo quebe el problema está ahí, pero... tiene que haber alguna función similar en windows. haber si alguien me puede echar un cable.
Gracias igualmente.

salu2! ;)

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: ¿Por qué no me compila utilizando "fork()"?
« Respuesta #3 en: Martes 21 de Junio de 2011, 22:04 »
0
Desafortunadamente en Windows no existe una funcion nativa similar a fork. Tienes dos opciones: instalas Cygwin (que usa un hack sucio para lograrlo) o usas  threads que es la solucion estandar en Windows.

http://www.codeproject.com/KB/threads/M ... orial.aspx
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.