При чтении файла globals.h в проекте Google V8 я обнаружил следующее определение макроса. // Выражение ARRAY_SIZE (a) - это константа времени компиляции типа
// size_t, которая представляет ...
В Objective-C иногда было полезно использовать статические строковые константы для определения альтернативных ключей API (например, чтобы различать ключи RELEASE и DEBUG для пакетов аналитики, таких как MixPanel, ...
Прочитав много документации об операторе Lisp eval-when, я до сих пор не могу понять его использование, Я знаю, что с помощью этого оператора я могу контролировать время вычисления моих выражений, но я не могу ...
Я недавно начал кодировать на Lisp и уже очень впечатлен макросами - они позволили мне делать сложные циклы- развертывание во время компиляции, то, что я не могу сделать элегантно ни в каком другом ...
Я искал в Stack Overflow плюсы и минусы подобного функционалу макросы v. встроенные функции. Я нашел следующее обсуждение:
Плюсы и минусы различных макросов / встроенных методов в C ... но это ...
Я заинтересован в создании макрос для устранения предупреждения о неиспользуемой переменной В этом вопросе описывается способ подавления предупреждения о неиспользуемом параметре путем написания макроса внутри кода функции: ...
Возможный дубликат: что делает «#define STR (a) #a»? Оценка макросов на языке программирования c #include
#define f (a, b) a ## b
#define g (a) #a
#define h (a) g (a) ...
Я определил несколько макросов, которые упрощают определение массива структур, но я не могу найти способ использовать их без ошибок. Вот макросы (и несколько примеров структур для ...
Возможный дубликат :Создание макроса C с ##и конкатенацией токенов LINE (с макросом позиционирования )Я пытаюсь использовать макрос __LINE __для создания разных имен переменных. У меня прицел...
I'm trying to figure out how to build a variable string for the #include statement using GCC. The idea is that for each source module I have written, I want to include as a header, a dynamically ...
В настоящее время я пытаюсь вычислить общий размер аргументов, переданных в функцию, в байтах. Теоретически можно просто записать sizeof (x) для каждого аргумента. Однако это огромная трата ...
Если я это сделаю, например: (defmacro qqq [] '(toString [this] "Qqq"))
(reify Object (qqq)) он не работает, потому что reify видит (qqq) вместо (toString [this] «Qqq»). Обычное решение - макрос, который ...
Приношу извинения за любую ошибочную терминологию --Я новичок в компьютерных науках, и я знаю только Clojure (, но я бы сказал, что знаю его достаточно хорошо ). Итак, я не провел много исследований по...
Возможный дубликат: есть ли эквивалент of std :: swap () в c Привет, ребята, я пытался написать общий макрос подкачки на C, и мой макрос выглядит так: #define swap (x, y) {x = x + ...
Возможный дубликат: встроенные функции и макросы препроцессора. Я хочу знать разницу между встроенной функцией и функцией макроса. 1) встроенная функция - это то же самое, что и макро функция? 2) ...
Возможный дубликат: Почему иногда в макросах C / C ++ используются бессмысленные операторы do / while и if / else? Почему в макросах ниже необходим do while (false)? #define LOG (сообщение, ...) \
do ...
Я нашел следующий макрос в заголовке утилиты в нашей кодовой базе:#определить ПОТОЛОК (x,y)(((х )+ (у)-1 )/ (y ))Который (с помощью этого ответа )я проанализировал как :// Возвращает наименьшее кратное N...
Этот вопрос по мотивации похож на мой предыдущий вопрос (хотя он касается проблемы, с которой я столкнулся в другом контексте). Я могу легко сопоставить шаблон с литералом функции без ...
Возможный дубликат: # и ## в макросах, почему вывод второго printf равен f (1,2) в каком порядке выполняется оценка макроса? #include
# определить f (a, b) a ## b
#define g (a) #a
# ...
Я пишу Clojure-обертку для Java-библиотеки Braintree, чтобы обеспечить более лаконичный и идиоматический интерфейс. Я хотел бы предоставить функции для быстрого и краткого создания Java-объектов, ...
Я понял, что определенный раздел моего кода состоит из групп методов, которые выглядят одинаково (например, у меня есть несколько трио: вспомогательная функция, которая получает вызывается двумя другими функциями, предназначенными для ...
В этом вопросе предлагается создать макрос Clojure для генерации нескольких функций. Мы придумали, как это сделать, но зациклились на вопросе «Это хорошая идея?». Моя первоначальная реакция не ...
При отладке очень полезно сделать это: var = calc ()
print ("var:", var) Есть ли язык, на котором это легко сделать? В C и C ++ вы можете использовать макрооператор строкового преобразования # и в ...
Возможный дубликат: Как проверить (через препроцессор), компилируется ли исходный файл C как код C ++, я пытаюсь найти стандартный макрос, который будет проверять, находится ли файл заголовка ...
Знает ли кто-нибудь о какой-либо магии препроцессора C99, которая позволяет создавать строку, состоящую из другой строки, повторяющейся N раз? Например. STRREP ("% s", 3) становится "% s% s% s" после предварительной обработки. ...
В книге Р. Кента Дибвига «Язык программирования схем, 4-е издание», на стр. 86 автор написал синтаксис определения (макрос схемы) для оператора case, который принимает диапазоны для своих ...
Возможный дубликат: Как создать вариативный макрос (переменное количество аргументов) Я хочу иметь макрос журнала в базовом C, который принимает аргументы, подобные printf, и регистрирует их. Однако хочу как...
Я ответил на этот вопрос из аналогичного вопроса, который я задал в комментарии к одному из множества полученных мною замечательных ответов. Я изначально спрашивал о макросах AST, которые в основном спровоцировали очень подробные ...