2019-07-20 19:29发布
特朗姆斯 发表于 2016-10-14 11:52 uV4自带优化功能 在Options里面选择C/C++,然后把Optimization的级别根据你的需求提高就行了。
最多设置5个标签!
谢谢,我其实不是问这个系统自带O2,O3优化。这个是最基本的 ccs编译器也是这样,我知道O2 O3一般会开的比较慎重。我发帖子的意思是说有没有一些伪指令操作利于优化的。举个例子我写一段DSP代码:
“//进行转秩运算必须按照双子节对齐 且转秩的阶次必须是2的偶次方个
#pragma DATA_ALIGN(Ux1, 128)
void DSP_vec(const short * restrict x, int * restrict y,const int m,
int nr)
{
int i = 0;
_nassert(((int)x & 7) ==0);
_nassert(((int)y & 7) ==0);
_nassert(nr % 8 == 0);
#pragma MUST_ITERATE(2,4096,2);
#pragma UNROLL(16);
for(i=0;i<nr;i++)
{
*(y+i) += m * *(x+i);
}
}
”_nassert()
#pragma MUST_ITERATE(2,4096,2);
#pragma UNROLL(16);
这些都是dsp提供的伪指令告诉编译器 循环的范围和需要手动展开的次数和内存对齐之类。keil有没有类似的伪指令。
一周热门 更多>