我有以下代码:
#define HELLO
"this is a command to ........." //this macros is very long, and it is greater than length 509
然后我使用printf(HELLO);
将其打印出来,但我收到了以下警告:
警告:字符串长度'526'大于'509'ISO C90编译器需要支持的长度,我知道字符串太长,它大于509,但如何删除此警告?
答案 0 :(得分:0)
如果可能,您可以使用符合C99的编译器,C99中的限制为4,095个字符。
如果失败,请在运行时(一次)将字符串构建为全局字符数组。
答案 1 :(得分:0)
1)将其分成2个字符串
#define a“abc”
#define b“def”
#define c(a b)
现在printf(a b)
或printf(c)
都可以使用
2)只是压制警告,(代码工作,不是吗?:))(http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html)
3)哦,刚刚看到第3个选项,使用不同的标准
第一个没用,它不会解决问题