C++手动开启O2优化(以及-O -O1 -O2 -O3优化的知识点)(竞赛可用)

  • O1优化会消耗少多的编译时间,它主要对代码的分支,常量以及表达式等进行优化。 

    O2会尝试更多的寄存器级的优化以及指令级的优化,它会在编译期间占用更多的内存和编译时间。 

    O3在O2的基础上进行更多的优化,例如使用伪寄存器网络,普通函数的内联,以及针对循环的更多优化。 

    Os主要是对代码大小的优化,我们基本不用做更多的关心。 通常各种优化都会打乱程序的结构,让调试工作变得无从着手。并且会打乱执行顺序,依赖内存操作顺序的程序需要做相关处理才能确保程序的正确性。  

  • -O0: 不做任何优化,这是默认的编译选项。

  • -O和-O1: 对程序做部分编译优化,对于大函数,优化编译占用稍微多的时间和相当大的内存。使用本项优化,编译器会尝试减小生成代码的尺寸,以及缩短执行时间,但并不执行需要占用大量编译时间的优化。 打开的优化选项:

  • O2优化能使程序的编译效率大大提升。

  • 从而减少程序的运行时间,达到优化的效果。

  • C++程序中的O2开关如下所示:

#pragma GCC optimize(2)
  • 同理O1、O3优化只需修改括号中的数即可。
  • 只需将这句话放到程序的开头即可打开O2优化开关。

 

开启O3优化:

#pragma GCC optimize(3,"Ofast","inline")

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx pdo_mysql_lnmp环境,安装PHP7的扩展pdo_mysql报错的问题?

环境信息:centos7.4 php7.2 mysql5.71.php是编译安装的2.MySQL是用rpm安装的mysql-community-client-5.7.23-1.el7.x86_64.rpmmysql-community-common-5.7.23-1.el7.x86_64.rpmmysql-community-devel-5.7.23-1.el7.x86_64.rpmmysql-community-embedded-5.7.23-1.el7…

【qduoj - 1010】easy problem(巧妙的枚举)

题干: 给你一个数字N,N的范围是1~1000000,求一个最小的正整数M,这个数字M的各个位的数字加上它本身之和恰好为N。当然,如果没有解,输出0。 输入 输入数据由多组数据组成,每行由一个数字N组成…

电大mysql实验作业_成教作业网提供国开电大 MySQl数据库应用 实验训练4答案

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼实验训练4:数据库系统维护实验目的:基于实验1创建的汽车用品网上商城,练习创建用户、权限管理,数据库备份与恢复方法,数据导出导入的方法,体会数据库系统维护的…

小学教师计算机国培培训总结,小学教师国培培训心得体会

短暂而又漫长的国培结束了,在这三个月里,收获很大,但最大的收获是思想的转变,此次培训活动安排分三个阶段:第一阶段,理论学习(1 0天);第二阶段,教学实践 (基地学习50天);第三阶段,集…

【qduoj - 1012】反转数字(模拟,水题)

题干: 反转数字 描述 输入一个 c 语言 4字节 int 范围内的数字,输出它反转后的数字。比如12345反转后是54321,-12345反转后是-54321。如果反转后的数字不在 int 范围内就输出0; 输入 每行一个 int 范围内的数字,以 …

mysql group 条件_mysql 的group by 满足的规则要求:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/u011066470/article/details/97291377————————————————GROUP BY满足的规则:所有sele…

计算机网络技术局域网作业,计算机网络作业局域网搭建注意事项.ppt

计算机网络作业局域网搭建注意事项计算机网络基础与应用技术 第6章 局域网技术 6.1 局域网概述 6.1.1 局域网的定义与特点 6.1.1 局域网的定义与特点 6.1.2 局域网的组建模式 6.1.2 局域网的组建模式 6.1.2 局域网的组建模式 6.1.2 局域网的组建模式 6.1.3 组建对等网 6.1.3 组…

【qduoj - 1011】数组中出现最多的元素(巧妙方法 或 排序 或 map)

题干&#xff1a; 描述 给你一个数组&#xff0c;输出里面出现超过1/2的元素。保证有且只有一个解。 输入 第一行是一个整数&#xff0c;表示测试数据的组数 n&#xff0c;n < 1000万 之后每一行都是一个整数。 输出 输出出现超过1/2的那个数字。 输入样例 1 5 1 1 …

centos mysql 5.6 源码_Centos7环境中mysql-5.6.39 源码安装

1、编译安装MySQL需要一些必备的组件&#xff0c;可以直接使用yum安装即可yum -y install cmake ncurses-devel gcc-c2 创建 Mysql用户useradd mysql3 分别给mysql创建程序安装目录和数据存储目录&#xff0c;这里将mysql安装在/opt下&#xff0c;数据存储在 /data/mysql下mkdi…

2019年9月全国计算机等级考试报名,关于2019年9月全国计算机等级考试报名的通知...

关于2019年9月全国计算机等级考试报名的通知2019年9月全国计算机等级考试报名工作即将开始&#xff0c;根据教育部考试中心和安徽省教育招生考试院的要求&#xff0c;学生在网上报名及缴费。现将2019年9月全国计算机等级考试报名工作安排如下&#xff1a;一、网上报名时间2019年…

【ACM算法讲堂之 - 计算几何基础】:【点积和叉积】(附一些模板)

计算几何是算法竞赛的一大块&#xff0c;而叉积是计算机和的基础。 首先叉积是计算说向量之间的叉积&#xff0c;那么我们可以这样定义向量&#xff0c;以及向量的运算符重载。 struct Point {double x,y;Point(double x0,double y0):x(x),y(y) {} }; typedef Point Vector; V…

mysql libstdc .so.6_编译安装mysql报错 ./mysqld: /usr/lib64/libstdc++.so.6:

我遇到这个问题的时候是在连接库的时候出现的问题&#xff0c;而且不是在编译的时候出现的&#xff0c;实在运行的时候才 报错&#xff0c;出现这种问题就是因为编译库的编译器和编译当前程序的编译器版本是不一样的&#xff0c;在具体一点就是因为&#xff0c;当前程序的编译器…

极限脱出 量子计算机,《极限脱出3:零时困境》难点解密攻略 剧情通关密码一览...

《极限脱出3&#xff1a;零时困境》这款解密游戏很多时候会卡住&#xff0c;如何通关呢&#xff1f;下面小编就给大家分享一下《极限脱出3&#xff1a;零时困境》中几个难点解密&#xff0c;需要过关密码的朋友可以收藏一下哦。游戏过程中经常会卡在三处&#xff1a;1.玩家发现…

【qduoj】C语言课程设计_约瑟夫问题

题干&#xff1a; 描述 有n只猴子&#xff0c;按顺时针方向围成一圈选大王&#xff08;编号从1到n&#xff09;&#xff0c;从第1号开始报数&#xff0c;一直数到m&#xff0c;数到m的猴子退出圈外&#xff0c;剩下的猴子再接着从1开始报数。就这样&#xff0c;直到圈内只剩下…

mysql缓存淘汰机制_聊聊缓存淘汰算法-LRU 实现原理

前言我们常用缓存提升数据查询速度&#xff0c;由于缓存容量有限&#xff0c;当缓存容量到达上限&#xff0c;就需要删除部分数据挪出空间&#xff0c;这样新数据才可以添加进来。缓存数据不能随机删除&#xff0c;一般情况下我们需要根据某种算法删除缓存数据。常用淘汰算法有…

【qduoj】C语言_求整数各位数之和

题干&#xff1a; 描述 输入一个正整数r&#xff08;0<r<10&#xff09;&#xff0c;做r次下列运算&#xff1a;输入一个整数&#xff0c;输出它的位数及各位数之和。 输入 同上 输出 同上 输入样例 1 3 123456 -100 99 输出样例 1 number6,sum21 number3,sum1 n…

三个月计算机培训班,三个月复盘:学完两个设计软件,并开始学画画

从4月1日开始明确目标&#xff0c;到6月30日&#xff0c;整整三个月的时间&#xff0c;我一直在努力前行。其中有多次的调整&#xff0c;但整体方向不变。来梳理一下这三个月所做的事&#xff1a;4.1-5.26 完成PS学习(75课)5.27-6.26 完成CDR学习(65课)5.27 从零基础开始学习画…

mysql源码包和二进制包_Linux软件包(源码包和二进制包)

Linux下的软件包众多&#xff0c;且几乎都是经 GPL 授权、免费开源(无偿公开源代码)的。这意味着如果你具备修改软件源代码的能力&#xff0c;只要你愿意&#xff0c;可以随意修改。GPL&#xff0c;全称 General Public License&#xff0c;中文名称“通用性公开许可证”&#…

【qduoj】最长公共子串

题干&#xff1a; 描述 编写一个程序&#xff0c;求两个字符串的最长公共子串。输出两个字符串的长度&#xff0c;输出他们的最长公共子串及子串长度。如果有多个最长公共子串请输出在第一个字符串中先出现的那一个。 特别注意公共子串中可能包含有空格&#xff0c;但不计回车…

计算机导论结业报告大一,河北工业大学计算机导论结业论文.pdf

计算科学导论结业论文(黄路路 计算机科学与软件学院112班 112436)摘要 本文采用简洁的语言浅显扼要的讲解了计算机的系统理论知识&#xff0c;起抛砖引玉的作用。本文核心知识&#xff1a;共包含四大部分&#xff1a;计算理论、计算机的系统结构、信息的表示、计算科学与C语言的…