EXPORT_SYMBOL 与 extern的区别

这两种方法都可以让被 修饰的函数 能被内核其他程序调用。


简单地说说区别,

EXPORT_SYMBOL是通过宏,建立一个新的这个函数的入口,包括它址,名称。这个函数会被放到kernel image的__ksymtab section中。当用到这个函数的模块在runtime时被加载的时候,loader就会从__ksymtab section解析这个函数。


extern 是将 非静态(没有static修饰)函数 在compile time的时候静态地链接。

你可能感兴趣的:(image)