Иногда подобные макросы используются для возможности компиляции кода с более старыми компиляторами, которые могут не поддерживать все функции.
Например, в этом случае вы можете просто определить CONST
как пустой, чтопозволит вам скомпилировать код в очень старом компиляторе C без поддержки квалификатора const
.
Обычно вы видите подобные макросы в реализациях стандартных библиотек.
Существует еще один распространенный случай макросов, сопоставляемых с ключевыми словами C: возможность вводить новые ключевые слова C в более новые стандарты C без нарушения старого кода.Эти стандартные макросы добавлены для удобства использования, например макрос bool
, определенный в stdbool.h
для ключевого слова _Bool
.