Сбой компиляции по назначению - Использование исходного кода текущего проекта
Я использую источники проекта, который постоянно развивается и постоянно меняется.
В конкретном сценарии я должен изменить источники проекта, чтобы адаптировать его к своим потребностям.
Я хочу создать определение (или набор определений), которое будет гарантировать, что если я обновлю исходники внешнего проекта и не добавлю свои изменения снова в новую версию кода, я не смогу скомпилироваться. Другими словами - я хочу защитить себя от забвения написания определенного кода
Как бы вы порекомендовали?
Использование 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