我試圖通過在Linux內核中創建自己的信號量來解決生產者消費者問題。我這樣做,通過創建一個結構sys.c:在Linux Kernel中創建我自己的數據類型。現在我該如何使用它?
struct my_sem
{
int value;
struct task_struct *pro[25];
};
現在,當即時通訊在我的計劃,並嘗試建立這個信號:
my_sem mutex1;
我收到寫着「my_sem未申報的」
錯誤我包含了unistd.h並且在gcc中用-i選項編譯。我覺得我還有其他東西缺失。
謝謝。
在編寫Linux內核中的東西之前,您應該閱讀一本關於C編程的基本書。 (在Linux內核中的生產者/消費者,真的嗎?)當你在C中聲明'struct'類型時,你總是必須使用帶有*標記*名稱的關鍵字'struct'。或者你必須多做一些工作,並且爲這個名字聲明一個'typedef'。 –
好吧,所以我必須聲明它是一個結構,即使它在linuex內核中? – Mike
爲什麼您認爲C語言的規則會因「在Linux內核中」而改變?無論如何,我不太清楚你的意思。 –