реклама на сайте
подробности

 
 
> Спецсимволы IAR, Символ '\' в тексте программы есть - но отсутствует в прошивке
controller_m30
сообщение Nov 11 2017, 15:35
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



Здравствуйте!

Набираю обычные текстовые данные вида "hello world", которые будут использоваться в программе. С ними всё в порядке до тех пор, пока в текст не вставить символ обратного слэша "\".
Если в тексте есть такой символ (например "hello\world"), то IAR выдаст предупреждение "Warning[2]: Unknown escape sequence", а в бинарный файл будет включён текст без символа "\" (т.е. просто слитный "helloworld")
Так реагирует на обратный слэш и IAR ARM, и IAR MSP430. Полагаю это его какая-то внутренняя директива.

У меня вот такой вопрос: можно ли как-то сообщить IAR-у, чтоб тот совсем перестал отслеживать значок "\", ну или хотя бы в текстовых строках?
А то очень неудобно разрывать строки, и вместо одного простого значка "\" каждый раз вставлять конструкцию из 8 символов "hello", 92, "world".

Может у кого-то есть соображения на сей счёт? rolleyes.gif

Сообщение отредактировал controller_m30 - Nov 11 2017, 15:37
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
Сергей Борщ
сообщение Nov 11 2017, 15:56
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (controller_m30 @ Nov 11 2017, 17:35) *
Полагаю это его какая-то внутренняя директива.
А вы на машине тоже ездить начали не читая Правил дорожного движения? В любой книжке по Си про этот символ написано, не говоря уже о Стандарте языка. Там же написано и как его вставить в строку. Гуглите "ESC-последовательности".


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Nov 11 2017, 16:29
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



Цитата(Сергей Борщ @ Nov 11 2017, 18:56) *
В любой книжке по Си про этот символ написано, не говоря уже о Стандарте языка. Там же написано и как его вставить в строку. Гуглите "ESC-последовательности".

Увы, я не пишу на Си laughing.gif Программа на ассемблере (для MSP430 и STM32).
За подсказку спасибо! rolleyes.gif

В общем, если кто-то ещё будет интересоваться, то ответ такой. Когда в текст нужно вставить обратный слэш (например "Hello\World"), то его нужно писать два раза: "Hello\\World" - и тогда IAR не будет выдавать предупреждений, а в бинарном файле будет текст с одним слэшем.

Спасибо!
Go to the top of the page
 
+Quote Post
k155la3
сообщение Nov 11 2017, 16:51
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(controller_m30 @ Nov 11 2017, 20:29) *
. . .
В общем, если кто-то ещё будет интересоваться, то ответ такой. Когда в текст нужно вставить обратный слэш (например "Hello\World"), то его нужно писать два раза: "Hello\\World" - и тогда IAR не будет выдавать предупреждений, а в бинарном файле будет текст с одним слэшем.
. . .

Да не только IAR. См. тотже MSVC. При задании path строк, в частности.


Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 11 2017, 19:46
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (controller_m30 @ Nov 11 2017, 18:29) *
Увы, я не пишу на Си laughing.gif Программа на ассемблере (для MSP430 и STM32).
"Предупреждать надо!". Впрочем, эти правила одинаковы для всех, наверное, языков.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 17:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01433 секунд с 7
ELECTRONIX ©2004-2016