C preprocessor
препроцессор макросов для языков программирования C и C++.
Препроцессор C или cpp
— это препроцессор макросов для c и c++ языки компьютерного программирования, хотя он часто используется в сочетании с другими языками. Препроцессор позволяет включать заголовочные файлы, расширения макросов, условную компиляцию и управление строками.
Ресурсы
В онлайн-руководстве по GNU CPP описаны синтаксис и использование препроцессора C.
В проекте предварительно определенных макросов компилятора C/C++ перечислены предварительно определенные компиляторы. макросы, которые можно использовать для идентификации стандартов, компиляторов, операционных систем и аппаратных архитектур во время компиляции.
Вопросы, связанные с [c preprocessor]:
- Список препроцессоров платы Arduino #defines Когда выбирается плата в среде IDE Arduino, определение препроцессора добавляется в один из закулисных файлов. После долгой охоты и некоторой удачи я обнаружил, что формат этого определения…
- Считается ли #ifdef __SD_H__ плохой практикой? Предположим, я работаю над библиотекой ^ 1 , в которую хочу добавить поддержку SD.h ^ 2 , но точно зная, что многие микроконтроллеры не поддерживают SD.h (поэтому они приводят к ошибкам…
- Массив символов в препроцессоре Мне нужно определить массив, который позже будет именем класса и будет указывать на него. Например (без препроцессора): const char *button_names[4]={"b0","b1","b2","b3"}; и позже (когда он…
- Не удалось заставить мою созданную библиотеку работать - пока она компилируется Я экспериментирую с созданием собственных библиотек Arduino. К сожалению, пока программа компилируется, конечный результат не работает. В целях эксперимента я разбил библиотеку на две части. Тот,…
- Как инициализировать и деинициализировать serial на основе ввода пользователя? Вкратце. Если аргумент верен, я хочу создать функцию, которая печатает необходимые данные в Serial. Однако, если его ложный Serial не инициализирован и ничего не печатает, он только выполняет код…
- #define from main (.ino) не учитывается компилятором в собственных библиотеках У меня проблема, что мой #define from main (.ino) не учитывается компилятором в моих собственных библиотеках. Этот #define MQTT_MODULE рассматривается только в основной (.ino) программе, но не в…
- Странное поведение defines - специфично ли это для Arduino и как оно работает? Вопрос, который у меня давно возник, касается взаимодействия между операторами #define и заголовком библиотеки include . Я видел, как несколько библиотек Arduino использовали эту довольно удобную…
- Странная ошибка в моем Arduino ALU Я обнаружил странную ошибку в своем Arduino. Этого нет в кодексе. Я думаю, что это аппаратная ошибка в ALU микроконтроллера, возможно, только в клоне. Таким образом, существует переменная feedLimit…
- Как связать процессор компьютера с Arduino на плате? Я новичок в Arduinno, поэтому, пожалуйста, извините, если вопрос глупый. Вот проблема: у меня есть проект, в котором я хочу, чтобы Arduino (или аналогичная плата с микрочипом) управляла…
- #define выше static const int? Я вижу много людей, а также библиотеки, определяющие константы (например, номера выводов, длину элементов и т. д.) как #define: #define LENGTH 5 Хотя в этом случае рекомендуется…
- Удалить функцию во время препроцессора У меня есть единственная функция для отладки сообщений, используемая во всем проекте. Когда KEYDEBUG определяется как 1 или 0 , функция включается или отключается по мере необходимости. …
- Определить, определены ли Serial1 и Serial2, во время компиляции У меня есть библиотека, которая использует Serial , Serial1 и Serial2 для создания различных сценариев регистрации. Пользователь библиотеки должен определить конфигурацию в конструкторе класса,…
- Ошибка сегментации и огромная потребность в SRAM для Serial.println Я написал свой собственный 'assert', так как хочу использовать его как для Windows, так и для Arduino. Класс вызывается из многих файлов (около 10). AssertUtils.h: #pragma once #define…
- Зачем использовать переменную int для вывода, когда const int, enum или #define имеют гораздо больше смысла Почему люди используют переменную для указания номера контакта, если контакт вряд ли изменится во время выполнения кода? Много раз я видел int , используемый для определения вывода, int led…
- Синтаксис двоичных констант Я пытался скомпилировать код Arduino на ПК для тестирования, когда заметил странный синтаксис числовых двоичных констант. Конвенция, похоже, объявляет их так: static const uint8_t…
- 1