使用-O0编译Linux内核的某些部分

kernel在make menuconfig时会发现,只有 Os O2这两种选项。

如果强行修改Makefile,有些源码会报错。原因网上能搜到一些说法,这里不研究。

 

为了研究源码,我用了这个方法实现O0编译:

在源文件开头,写这句:(可以强制指定 本文件内以下源码全部O0编译):

#pragma GCC optimize ("O0")
 
也可以给单个函数:
__attribute__((optimize("O0")))
 
编译时日志还是会打印 -O2,但是实际上已经O0编译,调试就看出来了。

使用-O0编译Linux内核的某些部分

上一篇:Linux后台调试常用命令及工具总结


下一篇:Linux命令ntpdate