QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3134|回复: 5

关于全局变量!

[复制链接]
发表于 2005-11-21 16:41:55 | 显示全部楼层 |阅读模式
在一个应用程序中有多个进程,在一个公有头文件里定义了全局变量,因为每个进程都有自己的空间,那么全局变量存放在哪里?才能保证每个进程都能读取到。
发表于 2005-11-22 12:54:54 | 显示全部楼层
在头文件定义不很好,如果在同一程序的不同文件中都有包含的话,会引起变量重复定义
多进程访问同一变量一般在把它入在共享内存段里去,看看shmget,shmat
回复

使用道具 举报

发表于 2005-12-18 01:01:38 | 显示全部楼层
全局变量是相对一个进程来说的。所谓全局变量并不是对多个进程而言。老兄应该好好理解一下进程的概念,多个进程不是和多个函数那样!
回复

使用道具 举报

发表于 2005-12-25 20:41:32 | 显示全部楼层
fork进程时,会全面拷parent的空间,除了PID
回复

使用道具 举报

发表于 2005-12-26 08:47:53 | 显示全部楼层
一个应用程序的多个进程一般都是有血缘关系的吧
回复

使用道具 举报

发表于 2005-12-27 22:19:39 | 显示全部楼层
fork产生子进程的时候,子进程汇完整的复制父进程的内存空间,当然也包扩父进程的全局变量;但是父子进程并不是共享这个全局变量;fork之后父进程的全局变量内容改变不会影响到子进程。
如果要再多进程之间进行通讯,楼主可以找一下ipc的资料,二楼所说的共享内存就是一种很好的方式。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-4 21:11 , Processed in 0.057823 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表