Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 2
Регистрация: 02.09.2012
Сообщений: 38

Что может означать такая запись?

22.02.2013, 19:50. Показов 1558. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
SIGNAL(INT1_vect) { // как я понял, это прерывание по нажатию кнопки
#if 0 // интересует именно эта строка. Для чего здесь 0? Что это за условие такое?
    if(bit_is_set(PORTLED, LEDTX)) {
        unset_bit(PORTLED, LEDTX);
    } else {
        set_bit(PORTLED, LEDTX);
 
    }
#endif
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.02.2013, 19:50
Ответы с готовыми решениями:

Что может означать такая формула (ур-е)?
Не совсем тривиальная тема, но обратился один знакомый с просьбой помочь разобраться в сканах лекций или чем-то подобным и там обнаружил...

Что может означать такая ошибка: "Heap corruption detected"
Что может означать такая ошибка? переполнение памяти?

Что может означать слово?
При кривом разгадывании ребуса получилось слово "тригвоздяка". А если бы оно существовало в языке, то что оно могло бы означать?

15
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
22.02.2013, 19:58
...директива препроессора.

http://msdn.microsoft.com/ru-r... 43has.aspx
0
1 / 1 / 2
Регистрация: 02.09.2012
Сообщений: 38
22.02.2013, 20:03  [ТС]
Я понимаю, что это директива. Но зачем в условии 0? Почему, к примеру, не число 1566?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
22.02.2013, 20:05
Цитата Сообщение от trancelife Посмотреть сообщение
Но зачем в условии 0? Почему, к примеру, не число 1566?
чтобы исключить этот фрагмент кода при компиляции, при другом отличном от нуля числе код будет скомпилирован
0
1 / 1 / 2
Регистрация: 02.09.2012
Сообщений: 38
22.02.2013, 20:13  [ТС]
Но как ноль изменится на другое число, если он не присвоен переменной?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
22.02.2013, 20:14
Цитата Сообщение от trancelife Посмотреть сообщение
Но как ноль изменится на другое число, если он не присвоен переменной?
руками, не путайте языковые конструкции и препроцессинг
0
Почетный модератор
 Аватар для Humanoid
11551 / 4346 / 452
Регистрация: 12.06.2008
Сообщений: 12,452
22.02.2013, 20:17
Тоже не совсем понимаю, почему нельзя было просто закомментировать.
0
1 / 1 / 2
Регистрация: 02.09.2012
Сообщений: 38
22.02.2013, 20:28  [ТС]
руками, не путайте языковые конструкции и препроцессинг
Что-то я ничего не понимаю. Ну ок, про препоцессинг я почитаю.
А вот, к примеру, функции, они тоже будут выполнятся в препроцессинге, если имеют вид:
C++
1
2
3
4
#define Num 1
#if Num
    init_uart();
#endif
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
22.02.2013, 20:35
Цитата Сообщение от trancelife Посмотреть сообщение
А вот, к примеру, функции, они тоже будут выполнятся в препроцессинге
в препроцессинге ничего выполнятся не будет, препроцессинг - это обычная обработка текста.
C
1
2
3
#if <условие>
<неважно какой текст>
#endif
если <условие> ложно, то <не важно какой текст> будет вырезан, если же истинно, то останется все как есть.
все это происходит перед компиляцией.
0
1 / 1 / 2
Регистрация: 02.09.2012
Сообщений: 38
22.02.2013, 20:40  [ТС]
Т.е. функция init_uart() может полностью вырезаться из программы и не выполнятся вообще?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
22.02.2013, 20:51
Цитата Сообщение от trancelife Посмотреть сообщение
Т.е. функция init_uart() может полностью вырезаться из программы и не выполнятся вообще?
C
1
2
3
4
#define Num 0
#if Num
    init_uart();
#endif
будет вырезан вызов этой функции в 3-й строке

Добавлено через 1 минуту
почитайте что ли
1
1 / 1 / 2
Регистрация: 02.09.2012
Сообщений: 38
24.02.2013, 17:09  [ТС]
Приведенный мной код, где условие выглядит как
C++
1
2
3
#if 0
код
#endif
это такой способ комментирования, когда нужно исключить ненужные строки, чтобы затем, если понадобиться, вновь внести их, убрав 0 в условии.
0
60 / 185 / 31
Регистрация: 14.02.2013
Сообщений: 1,668
24.02.2013, 18:19
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int i=0;
while(1)
{
#if i // интересует именно эта строка. Для чего здесь 0? Что это за условие такое?
    if(bit_is_set(PORTLED, LEDTX)) {
        unset_bit(PORTLED, LEDTX);
    } else {
        set_bit(PORTLED, LEDTX);
 
    }
i=0;
#endif
i=1;
}
то есть если сделать так то код в теле цикла после условия if будет выполняться через раз?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
24.02.2013, 18:51
Цитата Сообщение от VladimirU Посмотреть сообщение
то есть если сделать так то код в теле цикла после условия if будет выполняться через раз?
ещё раз
Цитата Сообщение от Jupiter Посмотреть сообщение
не путайте языковые конструкции и препроцессинг
0
24.02.2013, 18:57

Не по теме:

...ежики плакали, кололись, но продолжали жрать кактус :D

1
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,851
24.02.2013, 19:14
все что между
#if0
и
#endif
выбросится при компиляции
т.е можешь просто затереть эти строки

Цитата Сообщение от trancelife Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
SIGNAL(INT1_vect) { // как я понял, это прерывание по нажатию кнопки
#if 0 // интересует именно эта строка. Для чего здесь 0? Что это за условие такое?
  if(bit_is_set(PORTLED, LEDTX)) {
      unset_bit(PORTLED, LEDTX);
    } else {
      set_bit(PORTLED, LEDTX);
   }
#endif
до компилятора дойдет
C++
1
2
SIGNAL(INT1_vect) { // как я понял, это прерывание по нажатию кнопки
........
Добавлено через 5 минут
Цитата Сообщение от trancelife Посмотреть сообщение
Т.е. функция init_uart() может полностью вырезаться из программы и не выполнятся вообще?
не будет компилироваться код обрамленный #if0 #endif
все остальное ( ты же не привел до конца код) скомпрометируется
даже если это все тело функции то останется
C++
1
2
SIGNAL(INT1_vect) { 
}
прерывание будет вызываться но ничего делать не будет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.02.2013, 19:14
Помогаю со студенческими работами здесь

Что это может означать?
В книге Иоанны Хмелевской, видимо по-польки: . Возможно криво распознано. Добавлено через 5 минут И ещё

Что может означать min{|x_i|}
Что может означать min{|xi|} ?

Что может означать отрицательный индекс массива?
Мне вот интересно как тут работает строка inc=0; Вроде элементы массива нумеруются с 0, а тут приписывает еще -1 индекс. Разве тут ничего...

Что может означать в мат.логике/дискр.математике знак #
Что может означать в мат.логике/дискр.математике знак #? Например, А#15.

Что может означать двоичный код 01010010 на здании школы?
Что может означать двоичный код 01010010 на здании школы?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru