Fork () en iPhone

¿El iPhone SDK permitefork() ypipe(), las funciones tradicionales de Unix? Parece que no puedo hacer que funcionen.

Editar

Problema resuelto. Aquí, ofrezco una solución a cualquiera que tenga problemas similares a los míos. Me inspiraron las respuestas en este hilo.

En iPhone, no hay forma de bifurcar un proceso. Sin embargo, no es imposible implementar tuberías. En mi proyecto, creo un nuevo hilo POSIX (lea la documentación de Apple para saber cómo hacerlo). El subproceso secundario compartiría un descriptor de archivo creado por pipe () con el subproceso principal. Los subprocesos secundarios y primarios pueden comunicarse a través de tuberías. Por ejemplo, mi hijo hilo dup2 () fd [1] a su salida estándar. Por lo tanto, cualquier salida estándar podría quedar atrapada en el hilo primario. Similar a fd [0] y entrada estándar.

Pseudocódigo (no tengo el código disponible pero entiendes la idea):

int fd[2];
pipe(fd);
create_posix_thread(&myThread, fd);
char buffer[1024];
read(fd[0], buffer, 1024);
printf("%s", buffer); // == "Hello World"    

void myThread(int fd[])
{
  dup2(fd[1], STANDARD_OUTPUT);
  printf("Hello World");
}

La estrategia es muy útil si desea utilizar una biblioteca de terceros dentro de la aplicación de su iPhone. Sin embargo, un problema es que la depuración estándar con printf () ya no está disponible. En mi proyecto, simplemente dirigí todas las salidas de depuración al error estándar, XCode mostraría las salidas a su consola.

Respuestas a la pregunta(1)

Su respuesta a la pregunta