关于全局变量!
在一个应用程序中有多个进程,在一个公有头文件里定义了全局变量,因为每个进程都有自己的空间,那么全局变量存放在哪里?才能保证每个进程都能读取到。 在头文件定义不很好,如果在同一程序的不同文件中都有包含的话,会引起变量重复定义多进程访问同一变量一般在把它入在共享内存段里去,看看shmget,shmat 全局变量是相对一个进程来说的。所谓全局变量并不是对多个进程而言。老兄应该好好理解一下进程的概念,多个进程不是和多个函数那样! fork进程时,会全面拷parent的空间,除了PID 一个应用程序的多个进程一般都是有血缘关系的吧 fork产生子进程的时候,子进程汇完整的复制父进程的内存空间,当然也包扩父进程的全局变量;但是父子进程并不是共享这个全局变量;fork之后父进程的全局变量内容改变不会影响到子进程。
如果要再多进程之间进行通讯,楼主可以找一下ipc的资料,二楼所说的共享内存就是一种很好的方式。
页:
[1]