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