2014-02-27 54 views
1

可以说我有一个函数hello_world()在文件new.c中定义。我从这个文件new.c和另一个文件hello.c创建一个模块。这个模块将被称为new.ko.函数hello_world()使用EXPORT_SYMBOL导出到另一个模块。我的问题是,我可以在定义函数hello_world()时使用静态inline关键字,因为它并未被new.ko模块中new.c文件之外的另一个函数使用。EXPORT_SYMBOL和静态关键字

做静态和EXPORT_SYMBOL互相矛盾?谢谢。

+0

http://stackoverflow.com/questions/21746378/not-able-to-insmod-or-use-inter-kernel-modules/21746424#21746424 – Jeyaram

+0

[Linux设备驱动程序中的静态函数](http ://stackoverflow.com/questions/14423333/static-functions-in-linux-device-driver) – Jeyaram

回答

0

尝试使用Makefile中的“导出”。

1

是的,它们互相矛盾。您使用static来指示编译器,您将不会从此文件以外的任何位置调用此函数,而EXPORT_SYMBOL仅用于完成相反的操作。