Вопросы с тегом «macros»

*** НЕ ИСПОЛЬЗУЙТЕ для языков VBA / MS-Office. Вместо этого используйте [vba]. *** Макрос - это правило или шаблон, который определяет, как определенная входная последовательность (часто последовательность символов) должна быть сопоставлена ​​с выходной последовательностью (также часто последовательностью символов) в соответствии с определенной процедурой. .

1665
Что такое ":-!!" в коде C?

Я наткнулся на этот странный код макроса в /usr/include/linux/kernel.h : /* Force a compilation error if condition is true, but also produce a result (of value 0 and type size_t), so the expression can be used e.g. in a structure initializer (or where-ever else comma expressions aren't permitted)....

485
Советы и рекомендации по Vim и Ctags [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

297
Что делает макросы Lisp такими особенными?

Читая эссе Пола Грэма о языках программирования, можно подумать, что макросы Lisp - единственный путь. Как занятый разработчик, работающий на других платформах, я не имел права использовать макросы Lisp. Как человек, который хочет понять гул, пожалуйста, объясните, что делает эту функцию такой...

272
Как использовать Shapeless в квазицитате?

Я пытаюсь вызвать Shapelessмакрос изнутри quasiquoteс, Scalaи я не получаю то, что я хотел бы получить. Мой макрос не возвращает никаких ошибок, но не расширяется Witness(fieldName)вWitness.Lt[String] val implicits = schema.fields.map { field => val fieldName:String = field.name val fieldType =...

244
Как использовать #ifdef с условием ИЛИ?

Извините, что задали очень простой вопрос. Я бы хотел установить условие OR в директиву #ifdef. Как это сделать ? Я попытался #ifdef LINUX | ANDROID ... .. #endif Это не работает? Как...

222
В Vim, как применить макрос к набору строк?

У меня есть файл с кучей строк. Я записал макрос, который выполняет операцию в одной строке. Я хочу повторить этот макрос во всех оставшихся строках файла. Есть ли быстрый способ сделать это? Я попробовал Ctrl + Q, выделил ряд строк и нажал @@, но это не...

194
Можно ли записывать / воспроизводить макросы в Visual Studio 2012/2013/2015/2017/2019?

Видимо, макросы были удалены из Visual Studio 2012. Существует ли плагин / расширение / инструмент, который позволит мне записывать и воспроизводить клавиатурные макросы (так же, как временные макросы для записи / воспроизведения в Visual Studio 2010)? Например, я обычно использовал бы макрос при...

184
Перегрузка макроса по количеству аргументов

У меня есть два макроса FOO2и FOO3: #define FOO2(x,y) ... #define FOO3(x,y,z) ... Я хочу определить новый макрос FOOследующим образом: #define FOO(x,y) FOO2(x,y) #define FOO(x,y,z) FOO3(x,y,z) Но это не работает, потому что макросы не перегружают количество аргументов. Без изменения FOO2и FOO3,...

181
Получение структурного типа с помощью методов анонимного класса из макроса

Предположим, мы хотим написать макрос, который определяет анонимный класс с некоторыми типами-членами или методами, а затем создает экземпляр этого класса, который статически типизируется как структурный тип с этими методами и т. Д. Это возможно с помощью системы макросов в 2.10. 0, а часть типа...

176
Какое из худших в мире злоупотреблений макросами и препроцессорами вы когда-либо встречали?

Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Какое из худших реальных злоупотреблений макросами / препроцессором вы когда-либо встречали (пожалуйста, не придумывайте...

164
Макрос __FILE__ показывает полный путь

Стандартный предопределенный макрос, __FILE__доступный в C, показывает полный путь к файлу. Есть ли способ сократить путь? Я имею ввиду вместо /full/path/to/file.c я вижу to/file.c или...

151
Стандартная альтернатива трюку GCC ## __ VA_ARGS__?

Существует известная проблема с пустыми аргументами для вариационных макросов в C99. пример: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); Использование BAR()вышеупомянутого действительно неверно в соответствии со...

142
Является ли #pragma когда-то частью стандарта C ++ 11?

Традиционно стандартным и переносимым способом избежать включения нескольких заголовков в C ++ было использование #ifndef - #define - #endifсхемы директив предварительного компилятора, также называемой схемой защиты от макросов (см. Фрагмент кода ниже). #ifndef MY_HEADER_HPP #define MY_HEADER_HPP...

124
Как мне показать значение #define во время компиляции?

Я пытаюсь понять, какую версию Boost использует мой код. Я хочу сделать что-то вроде этого: #error BOOST_VERSION но препроцессор не расширяет BOOST_VERSION. Я знаю, что могу распечатать его во время выполнения из программы, и я знаю, что могу посмотреть на вывод препроцессора, чтобы найти ответ. Я...

124
Где хранятся записанные макросы в Notepad ++?

Я записал макрос, которым хочу поделиться со своим коллегой по работе. В каком месте сохраняются эти записанные макросы, чтобы я мог добавить их на его машину? Если интересно, макрос предназначен для получения списка значений и добавления кавычек и запятой, чтобы его можно было использовать в...