linux Module开发是一个很好地内核开发模式。
当然很多情况一般模块间的耦合度不是很高,只有一方调用另外一方的情况,选择利用EXPORT_SYMBOL导出需要调用的函数,这里就不做赘述;
耦合度不是很高但是又相互调用的情况,就可以利用回调函数的方式解决:
例如:A模块需要调用B模块的2()函数,B模块需要调用A模块的1()函数,那么,在A函数中定义一个3(functionPtr)函数,传入函数指针,然后导出函数1,3符号表,在B中调用1,3函数,B中初始化将函数绑定指针;
一般耦合度比较高的情况(相互调用特别多)可以将两个模块整合在一起构成一个新的模块;