Microchip
直播中

唐奇

8年用户 165经验值
私信 关注
[问答]

有没有一种方法可以强制C30为简单的switch()语句生成跳转表?

一些星期日的问题,我有一个简单的Switch(),其中有8个案例,基于EnUM,因此是连续的:但是编译器仍然生成一组比较/分支…无论使用什么样的优化,我都是(为了改变!)在中断中按下速度限制,所以…嗯,那很好。XC16可能会更好吗?

回帖(19)

王焕树

2020-3-12 06:21:52
当然,XC8对每个.()语句的最佳方法做了一些深入的分析,所以您希望它已经进入XC16。
举报

张娜

2020-3-12 06:33:45
让我试试
举报

张娜

2020-3-12 06:50:38
Ufff,不,我现在不能测试它——我正在使用一些库函数,当然XC没有这些函数……如果有人想试试,这是简单的代码片段:用这个枚举:PIC是一个PIC24EP512GU810
举报

李涛

2020-3-12 07:05:50
将函数放在数组中并间接调用它们。或者在asm.void func(int j);.globl_func.equ arg_Index,w0_func:;***sl arg_Index,arg_Index(如果gotos***bra arg_Index bra_Index bra_NESSUNAbra_QUADRAbra_TRIANGOLARE)中创建跳转表
举报

更多回帖

发帖
×
20
完善资料,
赚取积分