Microchip
登录
直播中
孟佳
7年用户
151经验值
私信
关注
[问答]
XC8构建的C代码出错
开启该帖子的消息推送
XC8
编译器
嗨,最近我用XC8构建了一个C代码,我通常用另一个编译器构建它。然后我注意到XC8的预处理器有一个奇怪的地方。想象一个代码是这样的:据我所知,一个“#elif”被正确地用于跟随一个#ifdef。到达第二个ELIF时,PREPROC应该进行评估,如果第二个字符串被定义并继续下去。好了,MPLABX环境正确地灰色了“是”-部分,这告诉我,语法正确地使用在这里。但是当使用XC8(v1.37)编译这段代码时,会抛出一个错误:“BLABLA1:26:error:(1500)#if表达式中的无效令牌”。将第一行改为“YES_STAGE”也使用XC8编译代码时不会出错,因为前置程序不评估第二阶段。对我来说,XC8似乎把这个“#elif”读为“.-if.#if”,而不是“.-ifdef.ifdef”。我的观察是正确的还是我错过了什么?谢谢您,
回帖
(6)
李恩佳
2020-3-5 09:41:25
SunCENoLi阶段不被定义为任何事物,它是0或Fuffy定义NoI阶段αIFIFF YESH阶段,定义“是”,“埃尔夫定义”(No期),定义“无”,定义NoI阶段1。
SunCENoLi阶段不被定义为任何事物,它是0或Fuffy定义NoI阶段αIFIFF YESH阶段,定义“是”,“埃尔夫定义”(No期),定义“无”,定义NoI阶段1。
举报
尹星
2020-3-5 09:53:14
是的,您的观察是正确的,您也错过了一些东西:自1988年以来,C标准要求elif以这种方式工作。K&Rr的书在十年前首次出版,这本书一直都是如此。
是的,您的观察是正确的,您也错过了一些东西:自1988年以来,C标准要求elif以这种方式工作。K&Rr的书在十年前首次出版,这本书一直都是如此。
举报
tijing忽忽
2020-3-5 10:12:45
是的,但是为什么无效的令牌错误?
是的,但是为什么无效的令牌错误?
举报
李兆峰
2020-3-5 10:29:43
因为它被定义和替换为“空”?
因为它被定义和替换为“空”?
举报
更多回帖
rotate(-90deg);
回复
相关问答
XC8
编译器
XC8
2v00码尺寸问题
2018-08-27
1678
XC8
运行问题
2019-05-21
2899
使用
XC8
和MLA的USB
代码
怎么迁移到
C
18
2019-09-20
1015
怎么在兼容模式下使用
XC8
编译器
2019-05-09
1581
XC8
PRO许可问题
2020-04-01
2968
MPLAB
XC8
C
编译器是否可以屏蔽/禁用有关pitch的咨询报告?
2020-04-22
1893
运行Ubuntu的旧电脑是否可以使用
XC8
编译器
2019-02-13
1615
为什么使用
xc8
1.37编译要比使用
xc8
1.34花费更长的时间?
2019-08-09
1114
atoi()函数导致冲突的声明错误
XC8
1.41
2019-11-04
875
MCC使用
XC8
V2.0生成的
代码
中的错误
2020-03-25
1507
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分