硬汉嵌入式论坛

 找回密码
 立即注册
查看: 403|回复: 6
收起左侧

[MDK] MDK 条件编译不起作用的问题

[复制链接]

2

主题

18

回帖

24

积分

新手上路

积分
24
发表于 2024-5-12 21:43:12 | 显示全部楼层 |阅读模式

在使用Keil5.39 代码时候使用条件编译总是把#if后面的解释为真,如下图,贴脸定义也一样,造成后续代码报错,大家有遇到过吗?




回复

使用道具 举报

2

主题

18

回帖

24

积分

新手上路

积分
24
 楼主| 发表于 2024-5-12 22:24:17 | 显示全部楼层
ps: 用segger embedded studio 也是一样的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107452
QQ
发表于 2024-5-13 09:14:19 | 显示全部楼层
发现MDK一个bug,语法检测机制中自动让条件编译中未使用的部分变成灰色,有时候是不正确的
https://www.armbbs.cn/forum.php?mod=viewthread&tid=85910
回复

使用道具 举报

2

主题

18

回帖

24

积分

新手上路

积分
24
 楼主| 发表于 2024-5-13 22:39:40 | 显示全部楼层
eric2013 发表于 2024-5-13 09:14
发现MDK一个bug,语法检测机制中自动让条件编译中未使用的部分变成灰色,有时候是不正确的
https://www.ar ...

不是显示的问题,这一段是参与编译的,所以下面会报错


12.png


后面改成 #if defined ... 就没有问题了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107452
QQ
发表于 2024-5-14 09:11:06 | 显示全部楼层
Superusrss 发表于 2024-5-13 22:39
不是显示的问题,这一段是参与编译的,所以下面会报错

这个还没测试过,估计是检测严格了,后面我也试试。
回复

使用道具 举报

1

主题

53

回帖

56

积分

初级会员

积分
56
发表于 2024-5-14 09:27:11 | 显示全部楼层
I80_L8BIT 是不是枚举?
回复

使用道具 举报

2

主题

18

回帖

24

积分

新手上路

积分
24
 楼主| 发表于 2024-5-17 14:28:43 | 显示全部楼层
CoderXMan 发表于 2024-5-14 09:27
I80_L8BIT 是不是枚举?

不是枚举,只是#define Interface I80_L8BIT.
后面问题解决了,#define Interface_I80_L8BIT, 然后条件编译用#if defined
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-2 00:35 , Processed in 0.288488 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表