linux内核配置中选项M(编译到模块)和*(编译到内核)有什么区别2010年04月05日 星期一 10:31这两天在学习linux的内核升级的配置方法,可是对内核的配置选项中的M和*选项不了解,终于在网上找到这两者的区别
要增加对某部分功能的支持,比如网络之类,可以把相应部分编译到内核中(build-in),也可以把该部分编译成模块(module),动态调用。
1.选项*(编译到内核)
如果编译到内核中,在内核启动时就可以自动支持相应部分的功能,这样的优点是方便、速度快,机器一启动,你就可以使用这部分功能了;缺点是会使内核变得庞大起来,不管你是否需要这部分功能,它都会存在,这就是Windows惯用的招数,建议经常使用的部分直接编译到内核中,比如网卡。
2.选项M(编译到模块)
如果编译成模块,就会生成对应的.o文件,在使用的时候可以动态加载,优点是不会使内核过分庞大,缺点是你得自己来调用这些模块。