现在MPLABX 5.45配套的XC编译器版本到2.31了,其默认是C99。
如果旧工程移植的时候通常会碰到如下问题(即和C99的区别)。
1. 整型
C99: __int24 __uint24 C90: short long int
C99: __bit C90: bit
2. 浮点
在C99里浮点都是32-Bits的,不支持24位的。
3. 绝对地址分配
C99: __at(address) C90: @ address
4. 中断
C99中必须用标识符 __interrupt() 指明
5. 嵌入汇编
C99使用 __asm()关键字, 不支持 #asm #endasm标示符
参考文档 https://microchipdeveloper.com/xc8:whats-new-in-xc8-2-0
|