这是关于Linux中的C语言.
我fork()在main()哪里创建了2个子进程.然后,在两个子进程中运行一个函数abc(),其中有一个局部变量x.我在里面写了一些价值.然后我打印这个变量的地址printf("%p",&x).
两个进程都打印SAME地址.我以为每个孩子都得到父母记忆的(独立)副本.我需要每个进程都有自己的变量x.我怎么能这样做或者我做错了什么?
我试着理解从C(Linux)中的socket读取,这只是代码的一部分:
while(success == 0) {
while((n = read(sockfd, buffer, BUFFSIZE, 0)) > 0) {
printf("%s",buffer);
bzero(buffer,BUFFSIZE);
}
success = 1;
printf("###");
}
Run Code Online (Sandbox Code Playgroud)
打印信息,但三个哈希(###)永远不会打印?为什么?该程序似乎阻止了read().这里我只是打印,但我需要做的是缓冲整个消息然后处理它.