Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Обратный слеш "\" в си

Непрочитано 31.01.2018, 07:26  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Обратный слеш "\" в си

Встретился в примерах кода обратный слеш,сильно не понял для чего установили тут.
Понимаю в строке экранирование спец символов,а тут?
PHP код:
// Макрос инициализации
#define GPIO_INIT(GPIO_PORT,GPIO_PIN,GPIO_MODE,GPIO_OUTTYP  E,GPIO_PULL,GPIO_SPEED,GPIO_ALTFUNC)\
{\
        GPIO_PORT-›MODER = (GPIO_PORT-›MODER & ~(3UL ‹‹ (GPIO_PIN * 2UL)))\
        | (GPIO_MODE ‹‹ (GPIO_PIN * 2UL));\
        GPIO_PORT-›OTYPER = (GPIO_PORT-›OTYPER & ~(1UL ‹‹ (GPIO_PIN)))\
        | (GPIO_OUTTYPE ‹‹ (GPIO_PIN));\
        GPIO_PORT-›OSPEEDR = (GPIO_PORT-›OSPEEDR & ~(3UL ‹‹ (GPIO_PIN * 2UL)))\
        | (GPIO_SPEED ‹‹ (GPIO_PIN * 2UL));\
        GPIO_PORT-›PUPDR = (GPIO_PORT-›PUPDR & ~(3UL ‹‹ (GPIO_PIN * 2UL)))\
        | (GPIO_PULL ‹‹ (GPIO_PIN * 2UL));\
        GPIO_PORT-›AFR[GPIO_PIN / 8] = (GPIO_PORT-›AFR[GPIO_PIN / 8] & ~(15UL ‹‹ ((GPIO_PIN & 0x7) * 4)))\
        | ((GPIO_ALTFUNC) ‹‹ (GPIO_PIN & 0x7) * 4);\
} 
Реклама:
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 31.01.2018, 08:04  
ampy
Гражданин KAZUS.RUN
 
Регистрация: 22.07.2007
Адрес: Владивосток
Сообщений: 996
Сказал спасибо: 448
Сказали Спасибо 388 раз(а) в 202 сообщении(ях)
ampy на пути к лучшему
По умолчанию Re: Обратный слеш "\" в си

Чтобы вместить его на экран по горизонтали и "остаться в одной строчке", т.к. в С макросы м.б. только однострочные. Это эквивалентно одной строчке кода, т.к. последовательность обр слеш - перевод строки удаляется лексическим анализатором С. Кажется, даже пробел не вставляется, но точно не помню.
ampy вне форума  
Сказали "Спасибо" ampy
IOPA4 (31.01.2018)
Непрочитано 31.01.2018, 08:43  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: Обратный слеш "\" в си

Спасибо,что то подобное есть в python.
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 31.01.2018, 22:31  
kolobok0
Частый гость
 
Регистрация: 10.09.2010
Адрес: Резиновая
Сообщений: 45
Сказал спасибо: 3
Сказали Спасибо 14 раз(а) в 12 сообщении(ях)
kolobok0 на пути к лучшему
Радость Re: Обратный слеш "\" в си

Сообщение от CERGEI1982 Посмотреть сообщение
..,а тут?...
уже прозвучало - перенос на следующую строчку.
главное из таких наклонных чёрточек не лепить красоту в коментариях - можно нечаянно закомментировать следующую строчку = стандартная детская болезнь в программировании..

удачи вам
(круглый)
kolobok0 вне форума  
Сказали "Спасибо" kolobok0
mike-y-k (31.01.2018)
Непрочитано 31.01.2018, 22:55  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,284
Сказал спасибо: 11,860
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Обратный слеш "\" в си

ampy, там немного иначе с удалением красоты для глаза в компиляторе - он таки все не латеральное предварительно от лишнего в виде пробелов, табуляции вычищает (где можно и нужно) и конечно комментарии.
Потом просто удаляются найденные / в конце строки, вместе с концом строки.

Собственно этот вариант подхода к читаемой человеком записи кода почти везде наверное используется - точно что de facto, возможно даже и de jure (тут просто занудства не хватило для выяснения ).
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 01.02.2018 в 06:51.
mike-y-k вне форума  
Непрочитано 01.02.2018, 04:23  
ampy
Гражданин KAZUS.RUN
 
Регистрация: 22.07.2007
Адрес: Владивосток
Сообщений: 996
Сказал спасибо: 448
Сказали Спасибо 388 раз(а) в 202 сообщении(ях)
ampy на пути к лучшему
По умолчанию Re: Обратный слеш "\" в си

mike-y-k, я мало что понял... Выражение тоже разобрать не могу.
Насчет пробелов это важно если, скажем, надо перенести ну очень длинное
имя переменной или функции или макроса... Вряд ли кому надо. Или нужно
записать длинную строку без лишних пробелов, а про объединение строк типа
"строка1" "строка2" человек забыл.
ampy вне форума  
Непрочитано 01.02.2018, 06:43  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,284
Сказал спасибо: 11,860
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Обратный слеш "\" в си

ampy, регулярное выражение для Perl как иллюстрация (убрал как излишек ).
В исходном коде gcc после первичного удаления из потока всего лишнего "/" в конце строки удаляется вместе с разделителем строк - две строки просто склеиваются…
Этот способ присутствует практически везде для читаемости кода, правда с некоторыми мелкими нюансами в каждой реализации. Типа возможности переноса литералов.

В справочнике по синтаксису все подробно описано…

PS Для объединения строк там вроде как оператор объединения должен стоять…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 01.02.2018 в 06:52.
mike-y-k вне форума  
Непрочитано 01.02.2018, 07:44  
ampy
Гражданин KAZUS.RUN
 
Регистрация: 22.07.2007
Адрес: Владивосток
Сообщений: 996
Сказал спасибо: 448
Сказали Спасибо 388 раз(а) в 202 сообщении(ях)
ampy на пути к лучшему
По умолчанию Re: Обратный слеш "\" в си

Сообщение от mike-y-k Посмотреть сообщение
PS Для объединения строк там вроде как оператор объединения должен стоять…
Не, это в макросах, для объединения имен в одно большое мегаимя, типа

#define makevar(name, age) name ## age

int makevar(Mathilda, 45) = 100;
ampy вне форума  
Сказали "Спасибо" ampy
mike-y-k (01.02.2018)
Непрочитано 01.02.2018, 08:53  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,284
Сказал спасибо: 11,860
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Обратный слеш "\" в си

ampy, ну этот вариант уже сильное извращение .
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
КТ805БМ обратный ток (кб) уменьшается с увеличением температуры b-612 Электроника - это просто 6 20.08.2016 04:38
Обратный отсчет на индикаторе, WinAVR Sho_otnik Микроконтроллеры, АЦП, память и т.д 8 12.01.2011 13:52


Часовой пояс GMT +4, время: 08:35.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.