|
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 9
|
|
непонятня смысловая нагрузка (#define _In_)01.11.2013, 14:03. Показов 3772. Ответов 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,874
|
|
| 01.11.2013, 15:05 | |
|
Croessmah, castaway,
или вы думаете я этого не знаю? специально показал "тонкое место" второе нет анализа входных параметров в макросе запросто можно сложить например два адреса
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
|
||
| 01.11.2013, 15:06 | ||
|
но мои компиляторы для микропроцессоров посылают меня с inline да и почему тогда на Си лучше писать макросами?
0
|
||
|
Неэпический
|
|||
| 01.11.2013, 15:10 | |||
|
Не по теме: Добавлено через 2 минуты Если не ошибаюсь, то в C99 уже был inline
0
|
|||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
|
|||||||
| 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,874
|
||
| 01.11.2013, 16:59 | ||
|
есть например когда без макроса никуда условная компиляция например ,одну из них ты привел а если код пишем мультиплатформенный и определенные действия нужны для линукс а другие для винды как тут без макросов? каждый раз код переписывать другое дело что макросы не нужны для констант и встраиваемых функциях
1
|
||
|
Ушел с форума
|
||
| 01.11.2013, 17:08 | ||
|
Макросы иногда помогают расширить язык. То есть, сделать такую вещь, которая чистым синтаксисом или нереализуема вообще, или приводит к нагромождениям лишних сущностей. Пример такого макроса - BOOST_SCOPE_EXIT и его аналоги. Удобная RAII-обертка для всего на свете, легко читается, вероятность накосячить минимальна. Без этой возможности пришлось бы на каждый охраняемый ресурс заводить свой отдельный класс, или выдумывать какой-нибудь хитроумный шаблон с параметризацией по способу удаления объекта...
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
|
|
| 01.11.2013, 18:38 | |
|
Evg,
дай ссылку где ты про макросы расписывал, пускай народ посмотрит на силу и красоту макросов
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
|
|
| 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 | |
|
Помогаю со студенческими работами здесь
38
Смысловая задача на геометрическую прогрессию define define #define c :: #define Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|