Результаты поиска по запросу "c-preprocessor"

5 ответов

Могут ли макросы быть перегружены количеством аргументов?

Какэто [https://stackoverflow.com/q/9183993/153285]работай? Как реализовать вариационный макрос C99 / C ++ 11 для расширения до разных вещей только на основании того, сколько аргументов ему дано?

1 ответ

Почему нет предупреждения «#if X», если X не определено?

Я иногда пишу код примерно так: // file1.cpp #define DO_THIS 1 #if DO_THIS // stuff #endifВо время разработки кода я могу поменять определениеDO_THIS между 0 и 1. Недавно мне пришлось изменить свой исходный код и скопировать код из одного файла ...

3 ответа

Псевдообобщения в Си

Мне нужно реализовать некоторые методы, которые делают вещи с различными видами числовых массивов. Обычно я использовал бы дженерики для этой работы, но поскольку C не предоставляет их, я сейчас пытаюсь подражать им с помощью макросов. Вот ...

ТОП публикаций

12 ответов

#define макрос для отладочной печати в C?

Попытка создать макрос, который можно использовать для отладочных сообщений печати, когда определен DEBUG, например, следующий псевдокод: #define DEBUG 1 #define debug_print(args ...) if (DEBUG) fprintf(stderr, args) Как это достигается с ...

3 ответа

Почему #ifndef и #define используются в заголовочных файлах C ++?

Я видел код, как это обычно в начале заголовочных файлов: #ifndef HEADERFILE_H #define HEADERFILE_HИ в конце файла #endifКакова цель этого?

5 ответов

Странное поведение макросов C / C ++

Я использую некоторые макросы и наблюдаю за странным поведением. Я определил PI как константу, а затем использовал ее в макросах для преобразования градусов в радианы и радианов в градусы. Градусы в радианах работают нормально, а в радианах в ...

4 ответа

Как мне написать рекурсивный макрос повторения цикла for для генерации кода C с помощью препроцессора CPP?

Я хочу заставить препроцессор сделать для меня автоматическую генерацию кода. Мне не нужно много: просто простой цикл for, который содержит еще один цикл for. [1] Я прочитал все, что могу о расширении макросов, и больше не хихикаю, ...

7 ответов

Как работает этот код C?

Что такоеa##b & #a? #define f(a,b) a##b #define g(a) #a #define h(a) g(a) main() { printf("%s\n",h(f(1,2))); //how should I interpret this?? [line 1] printf("%s\n",g(f(1,2))); //and this? [line 2] }Как работает эта программа? Выход 12 f(1, ...

6 ответов

Переносимость директивы препроцессора #warning

Я знаю, что директива #warning не является стандартнойC/ C ++, но его поддерживают несколько компиляторов, включая gcc / g ++. Но для тех, кто не поддерживает это, они молча проигнорируют это, или это приведет к сбою компиляции? Другими словами, ...

7 ответов

Преобразовать строку из __DATE__ в time_t

Я пытаюсь преобразовать строку, полученную из__DATE__ макрос вtime_t, Мне не нужен полноценный парсер даты / времени, который обрабатывает только формат__DATE__ Макрос был бы великолепен. Метод препроцессора будет изящным, но функция будет ...