我正在linux内核中创建一个新的系统调用。它将引用我正在创建的新结构,因此内核/*.c文件和用户程序都需要#include a file才能访问该结构类型。
我可以在哪里声明我的结构?我尝试过将声明放入include/linux/syscalls.h中,但我不知道如何从内核外部#include它(如果我试图编译一个程序来使用它,我会得到一个错误)。
我正在做一个带有插件系统的跨平台c++/qt项目,我们在linux上使用so文件,在windows上使用dll。我们通过cmake在Linux上使用了gcc,在Windows上使用了Visual Studio 2010。问题是我们的插件有时需要调用应用程序源代码中的函数,这在Linux和gcc上工作得很好,只需包含头文件。但是在Visual Studio上,我们得到了未解决的外部符号错误。