Первоначально я задал этот вопрос в списке рассылки CMake :Как настроить цель или команду для предварительной обработки файла C? Я переношу конфигурацию сборки на основе GNU Autotools в CMake, и мне приходится иметь дело с...
Мне интересно, насколько разные препроцессоры для C ++ и C. Причина вопроса - это вопрос, относящийся к конкретному препроцессору, где параграф стандарта, который касается ...
Я хотел бы сделать что-то вроде следующего: F_BEGIN F (f1) {некоторый код}
F (f2) {некоторый код}
...
F (fn) {некоторый код} F_END и пусть он сгенерирует следующий int f1 () {некоторый код}
int f2 () {some ...
Возможный дубликат: почему иногда в макросах C/C++ встречаются бессмысленные операторы do/while и if/else? Когда нужно выполнить несколько операторов в макросе препроцессора, обычно это ...
Возможный Дубликат: Запутался в расширении макроса C и целочисленной арифметике Загадка A (на C) Ожидаемый результат следующей C-программы - распечатать элементы в массиве. Но когда ...
Для ведения журнала отладки я часто видел и использовал что-то вроде #ifdef DEBUG #define DLOG (fmt, args... )printf ("%s :%d "fmt, __ФАЙЛ __, __СТРОК __,аргументы)
#else #определить DLOG (fmt, args...)
#endif но в...
Существует известная проблема с пустыми аргументами для макросов с переменным числом аргументов в C99. пример: #define FOO (...) printf (__ VA_ARGS__)
#define BAR (fmt, ...) printf (fmt, __VA_ARGS__) FOO ("отлично работает");
...
Возможен дубликат: #ifdef внутри #define Как успешно использовать символ "#" внутри макроса? Он кричит, когда я делаю что-то подобное: #define DO(What) \
#ifdef DEBUG \ ...
Возможный дубликат: Эквивалент Java #region в C # Есть ли в Java что-то, что позволило бы структурировать исходный код, как это сделано в C #, с помощью директив препроцессора #region ...
Давайте рассмотрим такой пример кода (это просто искусственный пример совмещения определения и шаблона, не ищите в этом смысла): #define COMMA , template class Test
{
...
Как мне создать макрос C, чтобы получить целочисленное значение строки? Конкретный вариант использования следует из вопроса здесь. Я хочу изменить код следующим образом: enum insn {sysenter = (uint64_t) 'r' ...
Я немного не понимаю, какой тип выражения мы можем использовать с препроцессором #IF на языке C. Я попробовал следующий код, но он не работает. Пожалуйста, объясните и приведите примеры для ...
Я вижу, что это часто используется для обеспечения совместимости модулей с GHC и Hugs , но Google не помогает мне узнать об этом больше. Что я могу поместить в условное? Могу ли я сделать части модуля условными ...
Что из этого я должен использовать, чтобы игнорировать предупреждение? #прагма clang диагностика игнорируется " -W<предупреждение>" #прагма диагностики GCC игнорируется " -W<предупреждение>" Кажется, у меня оба работают, но какой из них...
Я писал тестовый код на C. По ошибке я вставил ; после #define, который дал мне ошибки. Почему точка с запятой не требуется для #define? Более конкретно: Метод 1: работает const int ...
#include #define f (a, b) a ## b #define g (a) #a #define h (a) g (a) int main () {printf ("% s \ n", h (f (1,2))); printf ("% s \ n", g (f (1,2))); возврат 0; } Просто взглянув ...
Мы унаследовали очень свернутый проект (500kloc) с большим количеством условной логики препроцессора, большая часть которой больше не работает. актуально, и я хочу его убрать. Могу ли я использовать препроцессор¹, чтобы ...
В отличие от Objective-C, Swift не имеет препроцессора, поэтому есть ли способ вручную исключать членов класса? Я ищу что-то похожее на это: - (id) метод __deprecated;
Как определить макросы препроцессора в настройках сборки, таких как IPAD_BUILD и IPHONE_BUILD (и как использовать их в моих фабричных методах)? Я использую их наизусть сейчас, было бы здорово узнать, что происходит ...
Я понимаю, как использовать такую директиву препроцессора: #if SOME_VARIABLE // Делаем что-то
#else // Делаем что-то еще
#endif Но что, если я хочу сделать что-то только IF NOT SOME_VARIABLE. ...
Когда я запускаю следующий код: - (void)viewDidLoad
{ #ifdef ОТЛАДКА NSLog(@"debug");
#else NSLog(@"здесь");
#endif [супер viewDidLoad];
} Я вижу, что в журнале напечатано слово "отладка", но я...
Мне не удается заставить #elifdef работать в моем проекте iOS. Если я сделаю это: #ifdef X
const Foo bar[] = { ... };
#еще
const Foo bar[] = { ,,, };
#endif Затем выделяется верхний (под X) и ...
Я определил макрос MYMACRO. Примечание: значение не является допустимым NSString. #define MYMACRO is Макрос используется внутри объявления NSString @"This MYMACRO fun" Однако препроцессор не ...
Я использую его для проверки версии iOS, но он не работает: #ifndef kCFCoreFoundationVersionNumber_iPhoneOS_5_0
#define kCFCoreFoundationVersionNumber_iPhoneOS_5_0 675.000000
if ...
Это, вероятно, долгий путь, но не повредит спросить ...
Как вы думаете, это возможно получить IP-адрес узла сборки при сборке для iOS в Objective-C под xcode?
Это было бы полезно для моего ...
Меня немного смущает синтаксис «фунт если» или #if, который я вижу, когда смотрю на некоторые классы. Например: #if someConstant == someNumber делать что-то
# elif и т. Д. По сравнению с: if (someConstant == ...
Макрос - это право препроцессора. Иногда мы все исправляем, иногда нет. Разве не было бы неплохо время от времени расширять макрос и смотреть, как он работает?
У меня есть макрос препроцессора, определенный в настройках сборки FOO = BAR. Это значение я хочу преобразовать в строковый литерал Objective-C, который можно передать методу. Следующий #define не работает, ...