EDN China > 技术文章 > 微处理器与DSP > 多媒体处理器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

C6000软件优化经验总结(1)

来源:无忧电子开发网?? 2006年07月05日 ?? 收藏0

?????? 一、c6x的编译的常用选项

?????? (一)c6x的编译程序为“cl6x.exe”使用的方法

?????? Cl6x [options] [filenames]

?????? Cl6x:? 编译程序

?????? Options: 编译选项

?????? Filenames: C或汇编源文件

?????? 说明:

?????? 编译选项是一个字母或者两个字母,对大小写不敏感。

?????? 编译选项的前面需要有

一个“-”符号。

?????? 一个字母的选项可以合并在一起。比如“-sgq”与“-s -g -q”相同。

?????? 两个字母的选项如果第一个字母相同也可以合并在一起。比如“-mgt”与“-mg -mt”相同。

?????? (二)有关优化的选项

?????? -mt:表示在程序中没有使用alaising技术,这使得编译器可以进行比较好的优化。

?????? -o3:对文件级别进行最强的优化,一般在编译时应该使用这个选项。但是在个别情况下使用这个选项优化程序可能会出现错误(-o2有相同现象,- o0和-o1不会出现错误)。可能是在优化循环,组织流水线的时候发生错误。如果有这种现象出现可以同时使用-g选项,程序优化就不会出现错误,但是优化效果会下降。另外可以调整程序的表达方式,可能会避免编译器发生错误。

?????? -pm:在程序级别进行优化。可以将所以文件联合在一起进行优化,主要有去掉没有被调用的函数、总是常数的变量以及没有使用的函数返回值。建议由程序员自己进行这种优化工作。使用这个选项在win98下编译可能会出现找不到编译程序的情况。

?????? -ms0:不使用冗余循环进行优化,减小程序的大小。一般情况下这个选项对程序大小的优化作用不明显。

?????? -mh[n]:去掉流水线的epilog,减小程序的大小。这个选项的作用比较明显。但是有可能出现读取地址超出有效范围的问题,所以要在数据段的开始和结尾处增加一些pading,或者在分配内存时保证数组的前面和后面一段范围内都是有效的地址。可选的参数n给出这种pading的长度字节数。

?????? (三)保留编译和优化信息的选项

?????? -k:保留优化后生成汇编语言文件。

?????? -s:汇编语言文件中加入优化信息,如果没有则加入C语言源程序作为注释。

-mw:在汇编语言文件加入软件流水线信息。

?????? (四)有关调试和剖析的选项

?????? -g:允许符号调试,在“out”文件中包含符号信息和行号信息,可以在c语言级别进行调试和剖析。使用联合使用-g、-mt和-o3可以保证能够进行符号调试的情况下最大限度的优化。

?????? -mg:允许profile优化后的程序。 在“out”文件中包含符号信息和很少的行号信息。允许在c语言的函数基本进行剖析。

?????? 如果联合使用这两个选项,-g选项可能被忽略,结果与只用-mg相同。??


上一页123456下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

软件优化? C6000? 总结?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈