问:很多操作IPC,例如消息队列,共享内存等的时候,常常的key并不是直接写死的,而是用ftok返回的键值作为IPC键值,请问这样做有什么好处吗?直接写死,或者写到配置文件中不是也一样吗?
答:ftok的第一个参数是一个文件的路径名称.一般在应用系统中,使用$HOME或者应用系统的根目录作为它的值.这样产生的key_t就不会与系统中其他的软件和系统的相同了,从而避免造成冲突. (
当以文件为第一个参数时,如果文件的大小发生变化,生成的Key也会响应变化,应注意 )
如果,你使用配制文件,或者写死在程序里面,key_t的值有可能与系统中其他的软件.
ftok的第二个参数是用于你在自己的系统里产生多个IPC的时候,区分它们使用的.
总之, ftok的首个参数是用于与其他系统相区别的.
第二个参数是用于本系统的不同的IPC区别使用的.
阅读(4956) | 评论(0) | 转发(0) |