mq open 函式的 attr 引數錯誤問題

2021-06-06 12:15:58 字數 556 閱讀 2120

man mq_open顯示:

mqd_t mq_open(const char *name, int oflag);

mqd_t mq_open(const char *name, int oflag, mode_t mode,struct mq_attr *attr);

可見,該函式的用法有兩種,2個或者4個引數,然而,第二種用法中指定的引數 struct mq_attr *attr 是錯誤的,應該為struct mq_attr attr,而不是指標型別。

我使用&attr傳位址之後,一直是error 22,invalid argument。

不知道是我的系統的版本問題,還是就是這個是man 的錯誤。

由該函式的功能我們也可以推斷,引數型別是結構體型別,因為不需要原調函式中的 attr的值,傳值即可。

函式原型應該為:

mqd_t mq_open(const char *name, int oflag, mode_t mode,struct mq_attr attr);

mq open函式開啟失敗原因

最近在看ipc,自己在編寫posix訊息佇列時,遇到mq open無法開啟,總是返回錯誤。因為在posix標準中,並不是所有的名字都可以使用,必須是以 開始,並且名字裡只能包含乙個 如下,如果使用name 輸出success。如果使用name1,輸出erro include include incl...

jQuery函式attr 和prop 的區別

在jquery中,attr 函式和prop 函式都用於設定或獲取指定的屬性,它們的引數和用法也幾乎完全相同。但不得不說的是,這兩個函式的用處卻並不相同。下面我們來詳細介紹這兩個函式之間的區別。1 操作物件不同 很明顯,attr和prop分別是單詞attribute和property的縮寫,並且它們均...

jQuery函式attr 和prop 的區別

在jquery中,attr 函式和prop 函式都用於設定或獲取指定的屬性,它們的引數和用法也幾乎完全相同。但不得不說的是,這兩個函式的用處卻並不相同。下面我們來詳細介紹這兩個函式之間的區別。1 操作物件不同 很明顯,attr和prop分別是單詞attribute和property的縮寫,並且它們均...