Возможный дубликат:
Работа fork() в Linux gcc
#include <stdio.h>
void main ()
{
printf ("ciao");
fork ();
}
У меня есть некоторые идеи по оптимизации C, но я не уверен. Надеюсь, ты знаешь ответ.
Возможный дубликат:
Работа fork() в Linux gcc
#include <stdio.h>
void main ()
{
printf ("ciao");
fork ();
}
У меня есть некоторые идеи по оптимизации C, но я не уверен. Надеюсь, ты знаешь ответ.
Код, вероятно, напечатает "ciao"
дважды, так как стандартный вывод является буферизованным вводом-выводом, поэтому внутренний буфер для стандартного вывода будет реплицирован в дочернем процессе, и оба буфера сбрасываются при завершении каждого процесса, родительского и дочернего.
Это не связано с оптимизацией.
когда вызывается fork(), его наследуют и родительский, и дочерний процессы, и поэтому они оба будут
распечатать «чао», когда они очищают буфер. Если вы вызываете fflush(stdout);
перед вызовом fork он будет печатать только один раз
void main()
; 2: нет прототипа дляfork()
; - person pmg   schedule 06.03.2012