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创建一个指针,然后我猜? –