各类文件的区别与作用:
1、对于.so文件
.so文件是用户层的动态链接库,用于用户层的动态链接使用,内核态的代码同样不能直接访问。
2、对于.ko文件
obj-m = *.o
obj-y = *.o
上面两者的区别在于,前者才会生成ko文件,后者只是代码编译进内核,并不生成ko文件。
.ko文件是内核态的动态链接库,用于内核态的动态链接使用,可以用于内核之间的模块相互调用。用户态的代码不可直接调用内核态的代码,但是可以通过其他方式进行通信。
3、对于.a文件
.a文件是用于静态链接时,使用的静态库。
4、对于.o文件
.o文件是目标文件,编译生成,.a文件就是由.o文件打包生成的。