1
我知道有很多問題已經被問到這個具體的事情,但沒有人幫助過我。c文件之間共享變量
所以我有一個kernel.h文件和一個kernel.c文件。在kernel.c中,我創建了3個雙鏈表,我想在位於不同c文件中的main中使用它。我想要做的是我想用dlist.h中的另一個dlist.c文件使用我的Insert函數。
現在我在我的kernel.h文件中聲明3個列表爲extern,並將它們都包含在kernel.c和main.c中。在main.c中,我包含了dlist.h和列表中的所有函數,而在我的main中,我不能使用插入函數和我的列表中的一個,它只是說沒有定義它。
在C中沒有標準的方法來執行此操作。某些選項(如設置和使用共享內存)取決於系統。根據需求,您可能希望使用對象請求代理,但通常依賴於第三方庫。 – Peter
你可以在kernel.c中使用一個函數,並將指針傳遞給你的變量。在這個函數中分配指針值,理論上你可以在任何地方使用這些變量。但是,如果你有你的變量結構並正確命名,在頭中使用extern命令是不錯的主意。 – tilz0R
這些列表被聲明爲struct list * Readylist,所以我必須爲Readylist創建一個指針,然後我猜? –