Всем доброго времени суток.
Решил посмотреть беглым взглядом как написана ucos_ii. Меня удивила одна вещь, заключающаяся в следующем.
Например, функция создания задачи.
#if OS_TASK_CREATE_EN > 0
INT8U OSTaskCreate (void (*task)(void *p_arg),
void *p_arg,
OS_STK *ptos,
INT8U prio).
OS_TASK_CREATE_EN всеречается только 2 раза:
#define OS_TASK_CREATE_EN 1 /* Include code for OSTaskCreate() и
INT16U const OSTaskCreateEn = OS_TASK_CREATE_EN;
Вопрос в следующем: зачем проверяют #if OS_TASK_CREATE_EN > 0, если он всегда равен 1, т.к. нет отмены определения этого идентификатора?