AVRStudio 的编译优化级别

-00
无优化。

-01
减少代码尺寸和执行时间,不进行需要大量编译时间的优化。

-02
几乎执行所有优化,而不考虑代码尺寸和执行时间。

-03 执行 -02
所有的优化,以及内联函数,重命名寄存器的优化。

-0S
针对尺寸的优化。执行所有 -02 优化而不增加代码尺寸。

设置方法:

1.不使用外部的makefile

2.使用外部的makefile

AVRStudio 的编译优化级别,布布扣,bubuko.com

时间: 2024-10-12 13:42:54

AVRStudio 的编译优化级别的相关文章

GCC 编译优化指南

前言 网上关于编译优化的文章很多,但大多零零散散,不成体系,本文试图给出一个完整和清晰的优化思路,同时提供在实践中如何进行优化的详尽参考.但是,在介绍所有优化知识之前首先引用LFS-Book中的一句忠告:"使用编译器优化得到的小幅度性能提升,与它带来的风险相比微不足道".你还要进行优化吗? %@&#=^%~*# ... OK, crazy guy! Let's Go!! 在继续之前,作者还是奉劝各位:如果追求极致的优化,那么它将是一件既耗时又麻烦的事情,你会陷入无止尽的测试.测

GCC 编译优化指南【转】

转自:http://www.jinbuguo.com/linux/optimize_guide.html 版权声明 本文作者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布. 无担保:本文作者不保证作品内容准确无误,亦不承担任何由于使用此文档所导致的损失. 自由使用:任何人都可以自由的阅读/链接/打印此文档,无需任何附加条件. 名誉权:任何人都可以自由的转载/引用/再创作此文档,但必须保留作者署名并注明出处. 其他作品 本文作者十分愿意与他人分享劳动成果,如果你对我的其他

关于java字符串编译优化问题

情景一:不好的字符串拼接习惯    起因是这样的:一个大牛在写了一篇关于java字符串优化问题的讲解,他提到:不要使用strObj+otherValue的方法将otherValue转换为字符串形式,因为底层操作会让你吓一跳的.那么底层的实质是怎么样的呢?他的意思是这样的: 比如:    String s = "I have"; int  total = 12; Dog dog = new Dog();     //假设Dog类重写了toString方法 String msg = s +

FAAC1.28 在海思HI3520D/HI3515A平台linux中的编译 优化

FAAC1.28的下载地址:http://www.audiocoding.com/downloads.html 如何编译: 1../configure --host=arm-hisiv100nptl-linux --prefix=/home/ssy/lib 2.make 3.make install 优化 在不修改源码的情况下,faac的内存占用非常高,每路音频在13M左右.如果多路音频的话,内存将很快耗尽. 搜索MAX_CHANNELS的定义,默认是6 和64,全部改成1(一般都是单声道).

java编译优化

#java编译器对`String常量表达式`的优化: - 1.String+String 可以被编译器识别为常量表达 String a="ab" ; String b="a"+"b";//编译后:b="ab"            System.out.println(a==b);//true                       分析: 编译器将"a"+"b"当做常量表达式,在编

深入理解java虚拟机(十三) Java 即时编译器JIT机制以及编译优化

在部分的商用虚拟机中,Java 程序最初是通过解释器( Interpreter )进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁的时候,就会把这些代码认定为"热点代码".为了提高热点代码的执行效率,在运行时,即时编译器(Just In Time Compiler )会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化. 1.HotSpot 内的即时编译器 解释器和编译器各有各的优点: 解释器优点:当程序需要迅速启动的时候,解释器可以首先发挥作用,省去了编译的时间,

C编译优化

优化项解释:http://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/Optimize-Options.html#Optimize-Options 优化概述 优化处理是编译系统中一项比较艰深的技术.它涉及到的问题不仅同编译技术本身有关,而且同机器的硬件环境也有很大的关系.优化一部分是对中间代码的优化.这种优化不依赖于具体的计算机.另一种优化则主要针对目标代码的生成而进行的. 对于前一种优化,主要的工作是删除公共表达式.循环优化(代码外提.强度削弱.变换循环控制条件.

ikely()与unlikely() 都等同于if, 此处只是做编译优化

ikely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢? 首先明确: if (likely(value))等价于if (value)if (likely(a>b)) {fun1(); if (unlikely(value))等价于if (value) 也就是说likely()和unlikely()从阅读和理解的角度是一样的. 这两个宏在内核中定义如下: <linux/compiler> #define likely(x) __builtin_

【转】gcc编译优化---likely()与unlikely()函数的意义

看内核时总遇到if(likely( )){}或是if(unlikely( ))这样的语句,最初不解其意,现在有所了解,所以也想介绍一下. likely() 与 unlikely()是内核(我看的是2.6.22.6版本,2.6的版本应该都有)中定义的两个宏.位于/include/linux/compiler.h中,具体定义如下:#define likely(x) __builtin_expect(!!(x), 1)#define unlikely(x) __builtin_expect(!!(x)