В gcc есть __attribute__((weak))
, что позволяет создавать слабый символ, например функцию. Это позволяет пользователю переопределить функцию. Я хотел бы иметь такое же поведение в XC8.
Дополнительная информация:
Я пишу драйвер для XC8, и я хотел бы делегировать низкоуровневую инициализацию пользовательской функции.
Я знаю, что функцию можно переопределить: есть функция putch
, реализованная в исходном файле XC8 и вызываемая функцией printf. Пользователю разрешено повторно реализовать putch
внутри своего приложения. Есть две функции с одинаковым именем, но ошибка не возникает.
Реализация putch
в исходных файлах XC8 имеет комментарий "Слабая реализация. Может потребоваться пользовательская реализация", так что это должно быть возможно.
Я просмотрел прагмы в руководстве пользователя XC8, но директивы по этому вопросу нет.