c 语言用宏如何实现两个 字符串拼接
如下:#defineSW_VERSION "V0.03"
#defineMODULE_NAME "XG10"
需要实现PRO_NAME_STRING 等于“XG10_V0.03”
尝试1:
#definePRO_NAME_STRING SW_VERSION#"_"#MODULE_NAME
结果:
编译错误
拼接符是##
直接拼接宏定义不行吧,拼接出的是未定义的,直接拼接字符串倒是没问题 测试了下,原来简单的一匹
#defineSW_VERSION "V0.03"
#defineMODULE_NAME "XG10"
#definePRO_NAME_STRING SW_VERSION"_"MODULE_NAME eric2013 发表于 2019-4-19 01:20
测试了下,原来简单的一匹
#defineSW_VERSION "V0.03"
竟这么省事,之前一直用的## eric2013 发表于 2019-4-19 01:20
测试了下,原来简单的一匹
#defineSW_VERSION "V0.03"
这个方法好像不支持 gcc 的编译!
keil 和iar 貌似是支持的! mksu 发表于 2019-4-19 23:21
这个方法好像不支持 gcc 的编译!
keil 和iar 貌似是支持的!
GCC也没问题
页:
[1]