Чтобы процитировать документацию iOS по заголовкам Wrapper:#include _next не различает включение и «file», а также не проверяет, имеет ли указанный вами файл то же имя, что и...
Некоторое время назад я обнаружил (довольно древний) компилятор C, который сканирует макросы таким образом (псевдокод): if line .startswith ("# include") или line.startswith ("# define"): ... .. Какого рода ...
Я пытаюсь перенести относительно современный код C на более старый компилятор. Кажется, что этот компилятор (DICE) задыхается от первого файла заголовка и первого появления этой идиомы: #ifndef SOMETHING
# ...
, многое было написано в течение многих лет на реализации парсеров, но Cre Preprocessor не совсем такой же, как Любая из этапов типичного анализатора и его реализации, несомненно, имеет свою долю ...
Я пытаюсь сделать так, чтобы на выходе препроцессора C были директивы #ifdef, #else и #endif. То есть я хотел бы каким-то образом «избежать» директивы, чтобы вывод препроцессора включал ...
Я искал повсюду, и информация в сети, похоже, предполагает, что условная компиляция с использованием препроцессора работает исключительно с переменными среды. , Я хотел бы иметь ...
Стандартный макрос утверждения C отключен, если макрос NDEBUG определен, что означает «Без отладки». Это приводит к действительно ужасным двойным отрицательным случаям, таким как #ifndef NDEBUG // DebuggingCode #endif. Похоже ...
У нас есть функциональный макрос #define FOO(arg) foo(arg) с int foo(const char* bar);. Когда NDEBUG определен, FOO определяется как #define FOO(arg) 0, однако это вызывает много предупреждений компилятора, потому что в ...
Я хотел бы сделать что-то вроде этого: #define NEED3ARGS(a1,a2,a3) ( "[" #a1 " + " #a2 " + " #a3 "]" )
#define MULTIARG() ARG1, ARG2, ARG3 NEED3ARGS( MULTIARG() ) И я ожидал, что он выведет...
У меня есть два макроса FOO2 и FOO3:#определить FOO2 (x,y )... #определить FOO3 (x,y,z )... Я хочу определить новый макрос FOO следующим образом:#определить FOO (x,y )FOO2 (x,y)
#определить FOO (x,y,z )FOO3 (x,y,z )Но это не...
Возможно ли, чтобы один макрос расширялся по-разному для одного конкретного значения аргумента и по-разному для всех остальных аргументов? Скажем, я определяю текущего пользователя:#определить ТЕКУЩИЙ _ПОЛЬЗОВАТЕЛЬ john _smith Что я...
Я получаю сообщение об ошибке <: не могу начать список аргументов шаблона на компиляторе g ++. Шаблон кода class SomeClass;
class Class; SomeClass <:: Class> * cls;
У меня есть несколько часто используемых макросов, которые повсеместно необходимы практически во всех C файл я пишу. В настоящее время я копирую их в каждый файл, в котором они мне нужны. Вероятно, это плохая идея, потому что я...
Почему препроцессор C в GCC интерпретирует слово linux (маленькие буквы) как константу 1? test.c: #include < stdio.h > int main (void) {int linux = 5; вернуть 0; } Результат $ ...
Я нашел две разные вещи в двух хорошо известных книгах на c,
первый
«Формальные параметры не заменяются в строке в кавычках в раскрытии макросов» - K&R c language page 76, второй - это ...
Для большого количества вызовов функций в приложении C, которое требует некоторой степени отладки, я хотел добавить макрос, чтобы облегчить набор текста что я должен был сделать. прямо сейчас я вызываю такую функцию: aDebugFunction (& ...
Насколько я понимаю, #define blah 8 is a macro. В то время как #— это предварительная директива процессора -. Можем ли мы сказать #include, #if, #ifdef и т. д. тоже макросы, или они называются как-то иначе? Или это...
У меня есть макрос, который передает номер строки и имя файла обработчику ошибок: #define SYSTEM_FAILURE (код_ошибки, комментарий) \ System_Failure( (код_ошибки), (комментарий), __LINE__, __FILE__); Как будет...
Я использую среду модульного тестирования, которая использует макрос REQUIRE для выполнения утверждений. Упрощенно, макрос работает следующим образом: #define REQUIRE(выражение) INTERNAL_REQUIRE(выражение, "REQUIRE" ) Который ...
При заданном #define cat(x,y) x##y Вызов cat(a,1) возвращает a1, но cat(cat(1,2),3) не определено. Однако, если я также определю #define xcat(x,y) cat(x,y), то результатом xcat(xcat(1,2),3) станет 123. ...
Я пытаюсь создать определение макроса, которое может выдавать C++ или Objective-C в зависимости от контекста, но не может легко построить NSString внутри макроса. Версия C++ проста, потому что использует...
Я даю возможность компилировать программа с типом float или double, но есть проблема: мне нужно вручную установить либо GL_FLOAT, либо GL_DOUBLE, потому что я не знаю, как мне сделать следующее: ...
Если я использую макросы в своем коде на C, такие как #define var 10, то где именно они хранятся в пространстве, выделенном для процесса ядром?
В куче или BSS или глобальные данные? Или это просто текст...
У нас есть поставщик, который предоставил нам библиотеку C++ и заголовки, которые я пытаюсь обернуть с помощью SWIG. Похоже, они наполовину перемудрили с директивами препроцессора: // top.h
#...
Что именно произойдет с сегментом данных и текстовым сегментом, если я использую следующие две строки в файле исходного кода c? #pragma CODE_SECTION(func1, "Sec1")
#pragma DATA_SECTION(globalvar1, "Sec2")
Я хотел бы выполнить во время компиляции проверку размеров типов данных в проекте C / C ++ и выявить ошибку при неожиданных несоответствиях. Простой #if sizeof foo_t! = Sizeof bar_t не компилируется - утверждает, что sizeof ...
У меня есть несколько операторов отладки, определенных в программе, и я хочу иметь возможность сделать копию исходного кода без этих операторов. Чтобы сделать это, я сначала посмотрел на командную строку GCC -E ...