CCS5 编译器手动设置dsp支持可变参数宏等问题
IDE:CSS5.4,compiler不支持可变参数宏。需要手动设置编译器相关选项:
Language Option-》Language Mode —》no strict ANSI。
(1) O0 寄存器级别
● 执行控制流程简化
● 用寄存器分配变量
● 执行交替循环
● 排除未用的代码
● 简化公式和表述
● 扩大对内连函数的调用
(2) O1 局部级别
执行所有O0级别的优化,并且:
● 执行局部常量的传播
● 排除未用的赋值
● 排除局部共用表达式
(3) O2 函数级别
执行所有O1级别的优化,并且:
● 执行循环优化
● 排除全局共用子表达式
● 排除全局不用的赋值
● 执行打开循环
(4) O3 文件级别
执行所有O1级别的优化,并且:
● 排除未被调用的函数
● 简化返回值没被使用的函数
● 让小函数变成内联调用
● 保存函数说明,以便主函数被优化时知道被调用 函数的属性
● 识别文件级别的变量的特性
在使用O3级别的优化时,还可以使用别的选项执行更细致的优化
● OLN 得到标准库函数的文件
● ONN 创造优化信息文件
● PM 执行程序级别优化,编译多个源文件
而我们在做优化时,选的是O2级别的优化,因为使用O2级别优化后产生的汇编文件带有比较多的注释信息,比较容易看懂程序,建议对程序不太熟和对汇编语言不太熟练的人使用。
CCS5 编译器手动设置dsp支持可变参数宏等问题的更多相关文章
- Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数
Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4 为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...
- 可变参数宏__VA_ARGS__
在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如:#define pr_debug(fmt,arg...) \printk(KERN_DEBUG fmt,##arg) 用可变参数宏(v ...
- [转载]用可变参数宏(variadic macros)传递可变参数表
注意:_VA_ARGS__ 从VS2005才开始支持 在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如: #define pr_debug(fmt,arg...) printk(KER ...
- GNU C和C99标准中的可变参数宏(variadic macros)
用可变参数宏(variadic macros)传递可变参数表你可能很熟悉在函数中使用可变参数表,如: void printf(const char* format, …); 直到最近,可变参数表还是只 ...
- 字符串化#、拼接字符##和可变参数宏(...和_ _VA_ARGS_ _)
宏定义的使用与注意事项 ##是一个连接符号,用于把参数连在一起 #是“字符串化”的意思.出现在宏定义中的#是把跟在后面的参数转换成一个字符串#define paster( n ) printf( &q ...
- 嵌入式C语言自我修养 12:有一种宏,叫可变参数宏
12.1 什么是可变参数宏 在上面的教程中,我们学会了变参函数的定义和使用,基本套路就是使用 va_list.va_start.va_end 等宏,去解析那些可变参数列表我们找到这些参数的存储地址后, ...
- c语言中的# ## 可变参数宏 ...和_ _VA_ARGS_ _
1.#假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串.例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字 ...
- gnu printf可变参数宏
可变参数的宏 标准C只支持可变参数的函数,意味着函数的参数可以是不固定的 例如printf()函数的原型是int printf(const char *format [,argument]...) 而 ...
- __VA_ARGS__可变参数宏
#define qWiFiDebug(format, ...) qDebug("[WiFi] "format" File:%s, Line:%d, Function:%s ...
随机推荐
- POJ 2236 (简单并查集) Wireless Network
题意: 有n个电脑坏掉了,分别给出他们的坐标 有两种操作,可以O x表示修好第x台电脑,可以 S x y表示x y是否连通 两台电脑的距离不超过d便可连通,两台电脑是连通的可以直接连通也可以间接通过第 ...
- STL set容器的一点总结
整理了一下set常用语句,参看这篇http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/13/2636375.html -------------- ...
- hadoop DataNode实现分析
在前面说hadoop整体实现的时候, 说过DataNode的需要完成的首要任务是K-V存储. 第二个功能是 完成和 ...
- tableView的设置
TableView的设置 1.设置table头部和底部的view // 底部(宽度固定是320) tableView.tableFooterView = footer; // 头部(宽度固定是320) ...
- UVA 11374 Halum (差分约束系统,最短路)
题意:给定一个带权有向图,每次你可以选择一个结点v 和整数d ,把所有以v为终点的边权值减少d,把所有以v为起点的边权值增加d,最后要让所有的边权值为正,且尽量大.若无解,输出结果.若可无限大,输出结 ...
- 【英语】Bingo口语笔记(9) - 表示“不相信”
- 【英语】Bingo口语笔记(24) - L的发音技巧
舌头往上跑
- JBPM4之decision节点:2、好学生|坏学生|超级学生
JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件 JBPM4入门——3.JBPM4开发环境的搭建 JBPM4入门—— ...
- c# 读取其他程序的ListView内容
ArcMap没找到一个导出图层字段结构的功能,自已花点时间用C#做了个小工具,专门用来导arcmap中图层属性面板中的字段信息. 使用说明: 1) 点击“查找窗口”按钮.2) 在ListView控件上 ...
- Windows下Cygwin中使用NCView
1. 使用cygwin的setup.exe安装 NetCDF, HDF5, Curl, libXaw, libICE, udunits, libexpat 和 libpng: 在选择库界面搜索:&qu ...