我正在编写设备驱动程序。我有一个问题要问:Linux设备驱动程序中的内联函数
在.c文件中声明内联函数是否正确?
我说的是针对linux内核的设备驱动程序。我有一个函数,它在函数体中很短,并且从一个模块导出到另一个模块。你是否认为,我可以声明它是一个内联的.c文件,或者我需要将这个函数声明和EXPORT_SYMBOL行一起移动到.h文件,因为它是内联的?什么是标准的Linux内核练习?
For ex -> something like this?
inline void hello_world()
{............
return;
}
EXPORT_SYMBOL(hello_world);
谢谢!
这比编码约定更重要。询问http://kernelnewbies.org。并且您的代码将导出*非内联*函数。 –
在设备驱动程序编程的情况下,如果您有多个模块可以调用或使用多个函数/函数,那么您只需创建一个“.c”文件并使用EXPORT_SYMBOL_GPL将所有函数导出到内核。然后这些导出的函数被识别为“内核符号”。在使用或调用这些导出的函数时,您不需要包含任何文件,也不需要定义其原型。只需导出它,然后从任何其他模块调用它。但请确保您要出口的“许可证”。 –