Я знаю, что я пытаюсь стрелять в ногу;) Однако это позволит мне сделать остаток (большую сумму) кода более компактным и читаемым. Есть ли какой-нибудь сложный способ создать макрос препроцессора внутри другого макроса препроцессора? Вот пример, что я ищу. Мой реальный сценарий более сложный // That’s what I want to do and surely C++ doesn’t like […]
Чтобы процитировать документацию iOS на заголовках Wrapper : #include_next не различает включение и “file”, а также не проверяет, что указанный вами файл имеет то же имя, что и текущий файл. Он просто ищет файл с именем, начиная с каталога в пути поиска после того, где был найден текущий файл. Использование `#include_next ‘может привести к большой […]
Я хочу проверить вывод препроцессора для некоторых файлов. Как я могу просмотреть вывод препроцессора в Xcode?
У меня очень большая база кода (читайте: тысячи модhive), которая имеет общий код для множества проектов, которые все работают в разных операционных системах с разными компиляторами на C ++. Разумеется, сохранение процесса сборки может быть довольно сложной задачей. В кодовой базе есть несколько мест, где она могла бы существенно очистить код, если бы существовал способ […]
Я пытаюсь определить макрос, который предположил бы взять 2 строковых значения и вернуть их, объединенные одним пространством между ними. Кажется, я могу использовать любой персонаж, которого я хочу, помимо пространства, например: #define conc(str1,str2) #str1 ## #str2 #define space_conc(str1,str2) conc(str1,-) ## #str2 space_conc(idan,oop); space_conc вернет «idan-oop» Я хочу что-то вернуть «idan oop», предложения?
Я написал немного C , и я могу прочитать его достаточно хорошо, чтобы получить общее представление о том, что он делает, но каждый раз, когда я сталкивался с макросом, он полностью меня бросил. Я в конечном итоге должен помнить, что такое макрос, и заменить его в моей голове, когда я читаю. Те, с которыми я […]
Во многих программах #define выполняет ту же задачу, что и константа. Например. #define FIELD_WIDTH 10 const int fieldWidth = 10; Я обычно вижу, что первая форма предпочтительнее другой, полагаясь на предварительный процессор для обработки того, что в основном является решением приложения. Есть ли причина для этой традиции?
У меня есть макрос. Но мне нужно изменить это значение во время выполнения в зависимости от состояния. Как я могу это реализовать?
Как написать макрос cpp, который расширяется, чтобы включать строки новой строки?
Основное определение и пример и несколько ссылок на « X-Macros » приведены в этой записи в википедии на предварительном процессоре C : X-Macro – это заголовочный файл (обычно с расширением «.def» вместо традиционного «.h»), который содержит список похожих макросов (которые можно назвать «макросами компонентов»). Каковы некоторые хорошие источники информации о том, как использовать эту мощную […]