GCC指定某个函数或某几个函数的优化级别
2018-02-04 09:35
531 查看
GCC可以使用attribute((optimize(“STRING”)))指定单个函数的优化级别,或者使用#pragma GCC optimize (“string”…)指定该语句之下的所有函数的优化级别。
mingu.zheng at gmail dot com
http://blog.csdn.net/zoomdy/article/details/79251021
有些时候会希望某个函数或者某几个函数和其他的函数采取不同的优化级别,比如为了调试方便,或者为了避免编译乱序。这时候可以使用GCC的两个特性来完成。attribute((optimize(“STRING”)))可以指定单个函数的优化级别,如果有多个函数要指定的话,可以重复使用attribute((optimize(“STRING”))),或者使用#pragma GCC optimize (“string”…),#pragma GCC optimize (“string”…)语句下部的所有函数将使用该语句指定的优化级别。
attribute((optimize(“STRING”)))的例子,add函数使用O0优化级别,sub函数使用O2优化级别。
pragma GCC optimize (“string”…)的例子,pragma语句下面的add和sub函数都使用O3优化级别。pragma语句上面的div函数使用命令行指定的优化级别。
mingu.zheng at gmail dot com
http://blog.csdn.net/zoomdy/article/details/79251021
有些时候会希望某个函数或者某几个函数和其他的函数采取不同的优化级别,比如为了调试方便,或者为了避免编译乱序。这时候可以使用GCC的两个特性来完成。attribute((optimize(“STRING”)))可以指定单个函数的优化级别,如果有多个函数要指定的话,可以重复使用attribute((optimize(“STRING”))),或者使用#pragma GCC optimize (“string”…),#pragma GCC optimize (“string”…)语句下部的所有函数将使用该语句指定的优化级别。
attribute((optimize(“STRING”)))的例子,add函数使用O0优化级别,sub函数使用O2优化级别。
// 首先用__attribute__声明函数 int add(int a, int b) __attribute__((optimize("O0"))); // 然后再定义函数,声明和定义必须分开,否则编译错误 int add(int a, int b) { } int sub(int a, int b) __attribute__((optimize("O2"))); int sub(int a, int b) { }
pragma GCC optimize (“string”…)的例子,pragma语句下面的add和sub函数都使用O3优化级别。pragma语句上面的div函数使用命令行指定的优化级别。
int div(int a, int b) { } #pragma GCC optimize ("O3") int add(int a, int b) { } int sub(int a, int b) { }
相关文章推荐
- 统计输入的单词中有几个长度大于n的,n是自己指定的,用函数对象实现
- gcc中设置特定代码块的优化级别
- gcc不同优化级别反汇编代码的分析
- 关于vs 2005的一个O2级别函数调用的一个编译器优化(我是汇编小白)
- gcc 指定入口函数
- vs2010 在函数级别设置优化
- Oracle处理小数点后位数、格式化数字、查找指定字符所在位置的几个函数
- gcc编译文件时找不到指定函数怎么办
- gcc中设置特定代码块的优化级别
- JavaScript世界第一等公民 函数的几个级别
- python 算法的优化及几个基本函数
- 数据库的几个问题存储过程触发器函数创建以及sql优化
- 网络赛用MOD-含读入输出优化模板和几个常用函数
- 本人写的SEO的几个函数,分词,优化(吐血放松)
- GCC 设置部分代码的优化级别
- GCC 设置部分代码的优化级别
- gcc提高程序性能的几个参数
- UIApplicationDelegate 里面最常用的几个函数执行顺序小结
- JavaSE8基础 File 函数递归输出指定文件夹中的所有文件名(模仿Linux)
- Tuxedo中几个有用的函数