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

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

5
Что такое ":-!!" в коде 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). */ #define …
1665 c  linux  macros  linux-kernel 


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

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

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

8
Перегрузка макроса по количеству аргументов
У меня есть два макроса 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, есть какой - то способ определить макрос FOO( с …
184 c  macros  c-preprocessor 

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

30
Какое из худших в мире злоупотреблений макросами и препроцессорами вы когда-либо встречали?
Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Какое из худших реальных злоупотреблений макросами / препроцессором вы когда-либо встречали (пожалуйста, не придумывайте ответы IOCCC * хаха *)? Пожалуйста, добавьте короткий …
176 c++  c  macros  preprocessor 



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

2
Является ли #pragma когда-то частью стандарта C ++ 11?
Традиционно стандартным и переносимым способом избежать включения нескольких заголовков в C ++ было использование #ifndef - #define - #endifсхемы директив предварительного компилятора, также называемой схемой защиты от макросов (см. Фрагмент кода ниже). #ifndef MY_HEADER_HPP #define MY_HEADER_HPP ... #endif Однако в большинстве реализаций / компиляторов (см. Рисунок ниже) существует более «элегантная» …


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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.