|
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 9
|
|
непонятня смысловая нагрузка (#define _In_)01.11.2013, 14:03. Показов 3922. Ответов 37
Метки нет (Все метки)
#define _In_
SWITCH_DECLARE(const switch_state_handler_table_t *) switch_core_get_state_handler(_In_ int index); Не понятно зачем объявляется _In_ и какую смысловую нагрузку он несет во входном параметре (_In_ int index)
0
|
|
| 01.11.2013, 14:03 | |
|
Ответы с готовыми решениями:
37
смысловая задача Как реализовать директиву #define для создания шаблона отпределения #define ? Скрытие столбцов. Ошибка App-define od obj-define error |
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|
| 01.11.2013, 15:05 | |
|
Croessmah, castaway,
или вы думаете я этого не знаю? специально показал "тонкое место" второе нет анализа входных параметров в макросе запросто можно сложить например два адреса
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
||
| 01.11.2013, 15:06 | ||
|
но мои компиляторы для микропроцессоров посылают меня с inline да и почему тогда на Си лучше писать макросами?
0
|
||
|
Неэпический
|
|||
| 01.11.2013, 15:10 | |||
|
Не по теме: Добавлено через 2 минуты Если не ошибаюсь, то в C99 уже был inline
0
|
|||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|||||||
| 01.11.2013, 15:13 | |||||||
|
поставь случайно в макросе точку с запятой, я часто их на "автомате" ставлю. компилятор даст ошибку в строке включения макроса а не в определении
0
|
|||||||
| 01.11.2013, 15:15 | |
|
2
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 01.11.2013, 15:40 | ||
|
Собственно если вместо директив препроцессора можно использовать конструкции языка их и следует использовать.
0
|
||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|
| 01.11.2013, 16:53 | |
|
Я от щас книгу почитываю http://www.ozon.ru/context/detail/id/18817437/ , и там говориться, дословно не помню, но вроде как есть люди которые против макросов, макросы не нужно использовать и всякая фигня, а вы откройте любой файл заголовочный и посмотрите сколько там макросов, как говориться время поставит всех на свои места и те кто так говорил типо проехали, макросы широко используются и лучше раз выучить тему и потом уже не делать ошибки. Типо макрос как бы сильный инструмент в принципе если с умом им пользоваться так оно и есть, хотя бы использовать в качестве DEBUG уже сила. Я от например уже 1.5 к строк написал и ввел переменную int debug и каждый раз ее проверял если true то выполняю определенный код, а щас поисправлял все на #define DEBUG #ifdef DEBUG #endif. Просто если в программе этих if(debug) там штук 5 то ничего, а если их сотни, то это значительно замедлит программу.
Добавлено через 3 минуты Автор короче пропагандирует макросы использовать, да я думаю не нужно цуратса их использовать.
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
||
| 01.11.2013, 16:59 | ||
|
есть например когда без макроса никуда условная компиляция например ,одну из них ты привел а если код пишем мультиплатформенный и определенные действия нужны для линукс а другие для винды как тут без макросов? каждый раз код переписывать другое дело что макросы не нужны для констант и встраиваемых функциях
1
|
||
|
Ушел с форума
|
||
| 01.11.2013, 17:08 | ||
|
Макросы иногда помогают расширить язык. То есть, сделать такую вещь, которая чистым синтаксисом или нереализуема вообще, или приводит к нагромождениям лишних сущностей. Пример такого макроса - BOOST_SCOPE_EXIT и его аналоги. Удобная RAII-обертка для всего на свете, легко читается, вероятность накосячить минимальна. Без этой возможности пришлось бы на каждый охраняемый ресурс заводить свой отдельный класс, или выдумывать какой-нибудь хитроумный шаблон с параметризацией по способу удаления объекта...
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|
| 01.11.2013, 18:38 | |
|
Evg,
дай ссылку где ты про макросы расписывал, пускай народ посмотрит на силу и красоту макросов
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|
| 01.11.2013, 18:59 | |
|
0
|
|
| 01.11.2013, 19:04 | |
|
0
|
|
|
Ушел с форума
|
|
| 01.11.2013, 19:16 | |
|
Вот еще занятная статейка по теме:
C Preprocessor tricks, tips, and idioms https://github.com/pfultz2/Clo... and-idioms
0
|
|
| 01.11.2013, 19:26 | |
|
0
|
|
| 01.11.2013, 19:26 | |
|
Смысловая задача на геометрическую прогрессию define define #define c :: #define Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|