Я думаю об условностях и компиляторах. Я программирую приложение для Arduino, поэтому мне нужно, чтобы приложение было как можно быстрее.
В моем коде у меня есть это:
#define DEBUG false
...
if (DEBUG)
{
String pinName;
pinName = "Pin ";
pinName += pin;
pinName += " initialized";
Serial.println(pinName);
}
Мне интересно, не компилятор не включает код (код в блоке if) в двоичном файле. Условия всегда ложные, поэтому программа никогда не идет туда.
И с другой стороны. Что делать, если DEBUG верен? Проверяет ли Arduino условие или компилятор включает только тело if в двоичном файле?
Я нашел этот сайт https://gcc.gnu.org/onlinedocs/gcc-3.0.2/cpp_4.html о директиве #if, поэтому я могу переписать код, чтобы иметь эти директивы вместо "нормального", если, Но я хотел бы знать, следует ли мне переписать его или если это будет пустой тратой времени.