gcc的优化参数介绍(-O1,-O2,-O3,-Os)

-O的设置一共有5种常见的

  1. O0:零,表示关闭所有优化选项, 也就是默认的参数,没有进行优化
  2. 参数 -O1、-O2、-O3 中,随着数字变大,代码的优化程度也越高,不过这在某种意义上来说,也是以牺牲程序的可调试性为代价的。
  3. Os:是在-O2的基础上,去掉了那些会导致最终可执行程序增大的优化,如果想要更小的可执行程序,可以使用这个选项。

补充几个

  1. Og 是在O1 的基础上,去掉了哪些影响调试的优化,所以最终是为了调试程序,可以使用该参数。不过光有这个参数也是不行的,这个参数只是告诉编译器,编译后的代码不要影响调试,但调试信息的生成还是靠 -g 参数的。
  2. -Ofast 是在O3 的基础上,添加了一些非常规优化,这些优化并没有遵守国际标准。
    可以使用gcc -Q – help=optimizers命令来查询
    在这里插入图片描述

优化之后文件的大小

在这里插入图片描述

发布了52 篇原创文章 · 获赞 26 · 访问量 3390

猜你喜欢

转载自blog.csdn.net/weixin_43796685/article/details/104830756
今日推荐