4.我不想被优化
在全局已经使能O1,O2,O3,Os的情况下,某个单独的函数我们不想做任何的优化,可以用__attribute__((optimize("O0")))来修饰这个函数,比如我们把上述用O2可以编译过的代码进行如下修改:

重新用O2编译:
$ gcc -O2 cc.c/tmp/cc8M338p.o: In function `main':cc.c:(.text+0x19): undefined reference to `f'collect2: error: ld returned 1 exit status5. 总结的话
下面给几条实践指南:
- 尽量不要尝试用O0去编译内核,这不符合真实的工程实践,也不太被主流Linux社区所支持;内核依赖O2/Os去做较多的优化;
- 追求你的代码在O2的情况下,仍然是正确的,代码要经得起编译优化;比如O0工作正常,而O2不正常,应该尽可能从自身找原因,分析汇编;
- 如果在全局优化的情况下,想针对某个局部避免优化,可以尝试用noinline,__attribute__((optimize("O0")))等进行外科手术式地调整 。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持 。
- linux系统shell脚本定时统计Nginx下access.log的PV并发送给API保存到数据库
- Linux系统中有效地管理进程的8个命令介绍说明
- Linux系统下virtuoso数据库安装与使用详解教程
- 怎么忽略省电优化?
- Deepin Linux怎么安装?Deepin Linux安装步骤简述
- 香港站群服务器助力网站SEO优化
- 低质量页面是否影响整站优化效果?
- 建设H.265解决方案,如何在linux下对图像做H.265
- 企业网站优化怎么才有效果
- n900v安卓5.0root包,想不到2019年还有人想做Linux
