打印
[开发工具]

keil preprocessor symbols 为何不可以处理字符串啊?

[复制链接]
2548|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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 (134.4 KB )

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 很给力!
5
mmuuss586| | 2018-3-23 14:31 | 只看该作者
参考楼上几位意见看看;

使用特权

评论回复
6
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"'

使用特权

评论回复
7
玛尼玛尼哄| | 2018-3-23 17:13 | 只看该作者
原来要加个      -            啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

149

主题

800

帖子

5

粉丝