Posted on 2009-07-14 21:51
Prayer 閱讀(601)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
LINUX/UNIX/AIX
ftok應(yīng)用范圍:在IPC通信及消息記者中使用
解析:
系統(tǒng)建立IPC通訊(如消息隊(duì)列、共享內(nèi)存時(shí))必須指定一個(gè)ID值。通常情況下,該id值通過(guò)ftok函數(shù)得到。
在一般的UNIX實(shí)現(xiàn)中,是將文件的索引節(jié)點(diǎn)號(hào)取出,前面加上子序號(hào)得到key_t的返回值。
如指定文件的索引節(jié)點(diǎn)號(hào)為65538,換算成16進(jìn)制為0x010002,而你指定的ID值為38,換算成16進(jìn)制為0x26,則最后的key_t返回值為0x26010002。
ftok的第一個(gè)參數(shù)是一個(gè)文件的路徑名稱.一般在應(yīng)用系統(tǒng)中,使用$HOME或者應(yīng)用系統(tǒng)的根目錄作為它的值.這樣產(chǎn)生的key_t就不會(huì)與系統(tǒng)中其他的軟件和系統(tǒng)的相同了,從而避免造成沖突.
如果,你使用配制文件,或者寫(xiě)死在程序里面,key_t的值有可能與系統(tǒng)中其他的軟件.
ftok的第二個(gè)參數(shù)是用于你在自己的系統(tǒng)里產(chǎn)生多個(gè)IPC的時(shí)候,區(qū)分它們使用的.
總之, ftok的首個(gè)參數(shù)是用于與其他系統(tǒng)相區(qū)別的.
第二個(gè)參數(shù)是用于本系統(tǒng)的不同的IPC區(qū)別使用的.