[开发工具] keil preprocessor symbols 为何不可以处理字符串啊?

[复制链接]
3518|6
 楼主| crazybee 发表于 2018-3-22 23:10 | 显示全部楼层 |阅读模式
本帖最后由 crazybee 于 2018-3-23 07:34 编辑

keil preprocessor symbols 里填写:
TEST_STR="TEST STRING"

打算让它实现下面这个宏定义:

#define TEST_STR "TEST STRING"

‘。。。。。

会报错,为何?


734774645 发表于 2018-3-23 13:40 来自手机 | 显示全部楼层
预处理(Preprocessor Symbols)
这里主要就是预定义功能,相当于在程序中的#define xxxx。我上面预定义STM32F10X_HD,在stm32f10x.h文件中就不用定义了。
你用错了,当然报错
764cf9d9a61a9605974485114d401542.jpg
734774645 发表于 2018-3-23 13:47 来自手机 | 显示全部楼层
你试试一个字符可以不,用单引号,然后单引号里放字符串,如果不行就没法这么实现了
msblast 发表于 2018-3-23 13:53 | 显示全部楼层
本帖最后由 msblast 于 2018-3-23 13:54 编辑

如沙发图所示,增加如下
-DTEST_STR="TEST STRING"
试试

评分

参与人数 1威望 +4 收起 理由
crazybee + 4 很给力!

查看全部评分

mmuuss586 发表于 2018-3-23 14:31 | 显示全部楼层
参考楼上几位意见看看;
 楼主| crazybee 发表于 2018-3-23 17:03 | 显示全部楼层
msblast 发表于 2018-3-23 13:53
如沙发图所示,增加如下
-DTEST_STR="TEST STRING"
试试

手册上找到说明了
Lines that include the preprocessor option -Dsymbol="value" must be delimited with a single quote, either as '-Dsymbol="value"' or as -Dsymbol='"value"'. For example:
-c -DFOO_VALUE='"FOO_VALUE"'
玛尼玛尼哄 发表于 2018-3-23 17:13 | 显示全部楼层
原来要加个      -            啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:MSN: ihuangwh@foxmail.com

149

主题

800

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部