我在我的代码中有以下定义
#define PRODUCTNAME "SomeName"
我想用com_reply函数发送它(unsigned char * msg,uint16_t lenght).
现在我得到一个警告,我的论点在签名方面有所不同.我知道问题是什么,以及为什么com_reply使用unsigned char *而不是char *,我只想知道:
如何将我的字符串定义为unsigned char *,这样我就可以在整个程序中使用它而不会在整个地方收到警告.
编辑:
严格来说,我在这里有多个定义,主要原因是有一个BANNER定义,其中包含其他几个定义,如下所示:
#define PRODUCTNAME "SomeName" #define PRODUCTDATE "2013-03-30" #define BANNER PRODUCTNAME " (" PRODUCTDATE ")"
我应该创建const变量并在程序启动时连接它们而不是在这里使用定义吗?
解决方法
这应该工作:
#define PRODUCTNAME ((const unsigned char *)"SomeName")