Как я могу # определить строку без знака char*?
У меня есть следующее определение в моем коде
#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 ")"
Должен ли я создавать константные переменные и объединять их при запуске программы вместо использования определений здесь?
1 ответ
Это должно работать:
#define PRODUCTNAME ((const unsigned char *)"SomeName")