相关疑难解决方法(0)

在linux gcc中使用fork()

fork() 创建一个新进程,子进程从父进程的当前状态开始执行.

这是我fork()在Linux中所知道的.

所以,相应的代码如下:

int main() {
  printf("Hi");
  fork();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

需要按照上述方式仅打印一次"Hi".

但是在使用gcc编译的Linux中执行上述操作时,它会打印两次 "Hi" .

有人可以向我解释实际使用中发生了什么,fork()以及我是否理解了fork()正确的工作?

c linux gcc fork

26
推荐指数
3
解决办法
1万
查看次数

为什么这段代码打印两次?

可能重复:
在linux gcc中使用fork()

#include <stdio.h>

void main ()
{
  printf ("ciao");
  fork ();
}
Run Code Online (Sandbox Code Playgroud)

我有一些关于C优化的想法,但我不确定.希望你知道答案.

c printf fork newline stdio

6
推荐指数
1
解决办法
554
查看次数

标签 统计

c ×2

fork ×2

gcc ×1

linux ×1

newline ×1

printf ×1

stdio ×1