Сбой компиляции по назначению - Использование исходного кода текущего проекта

Я использую источники проекта, который постоянно развивается и постоянно меняется.

В конкретном сценарии я должен изменить источники проекта, чтобы адаптировать его к своим потребностям.

Я хочу создать определение (или набор определений), которое будет гарантировать, что если я обновлю исходники внешнего проекта и не добавлю свои изменения снова в новую версию кода, я не смогу скомпилироваться. Другими словами - я хочу защитить себя от забвения написания определенного кода

Как бы вы порекомендовали?

Использование IAR Workbench, компиляция для TI25XX

2 ответа

Решение

Вы можете использовать директивы препроцессора #ifndef а также #error:

#ifndef SOMETHING
  #error "Error message!"
#endif

Если SOMETHING не определено, компиляция остановится и "Error message!" будет отображаться.

Какие SOMETHING на самом деле это должно быть решено вами. Возможно, это может быть версия №1.

#if(CURRENT_VERSION < MINIMUM_VERSION)
  #error "Version out of date!"
#endif

1 Предлагается indiv.

Я бы предложил добавить директиву об ошибках препроцессора, #errorвнутри #ifndef блок. Например:

#ifndef YOAVS_SPECIAL_CODE
#error "You forgot the code Yoav."
#endif
Другие вопросы по тегам