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

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

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

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

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

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


Ответ
Опции темы
Непрочитано 31.01.2018, 07:26   #1
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 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   #2
ampy
Гражданин KAZUS.RU
 
Регистрация: 22.07.2007
Адрес: Владивосток
Сообщений: 984
Сказал спасибо: 435
Сказали Спасибо 375 раз(а) в 197 сообщении(ях)
ampy на пути к лучшему
По умолчанию Re: Обратный слеш "\" в си

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

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

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

удачи вам
(круглый)
kolobok0 вне форума   Ответить с цитированием
Сказали "Спасибо" kolobok0
mike-y-k (31.01.2018)
Непрочитано 31.01.2018, 22:55   #5
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,260
Сказал спасибо: 11,170
Сказали Спасибо 3,860 раз(а) в 2,930 сообщении(ях)
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   #6
ampy
Гражданин KAZUS.RU
 
Регистрация: 22.07.2007
Адрес: Владивосток
Сообщений: 984
Сказал спасибо: 435
Сказали Спасибо 375 раз(а) в 197 сообщении(ях)
ampy на пути к лучшему
По умолчанию Re: Обратный слеш "\" в си

mike-y-k, я мало что понял... Выражение тоже разобрать не могу.
Насчет пробелов это важно если, скажем, надо перенести ну очень длинное
имя переменной или функции или макроса... Вряд ли кому надо. Или нужно
записать длинную строку без лишних пробелов, а про объединение строк типа
"строка1" "строка2" человек забыл.
ampy вне форума   Ответить с цитированием
Непрочитано 01.02.2018, 06:43   #7
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,260
Сказал спасибо: 11,170
Сказали Спасибо 3,860 раз(а) в 2,930 сообщении(ях)
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   #8
ampy
Гражданин KAZUS.RU
 
Регистрация: 22.07.2007
Адрес: Владивосток
Сообщений: 984
Сказал спасибо: 435
Сказали Спасибо 375 раз(а) в 197 сообщении(ях)
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   #9
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,260
Сказал спасибо: 11,170
Сказали Спасибо 3,860 раз(а) в 2,930 сообщении(ях)
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, время: 23:09.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot