Это звучит немного как вопрос интервью, но на самом деле это практическая проблема.
Я работаю со встроенной платформой и имею в наличии только эквиваленты этих функций:
- Е()
- snprintf()
Кроме того, реализация (и подпись) printf(), скорее всего, изменится в ближайшем будущем, поэтому вызовы к ней должны находиться в отдельном модуле, чтобы их можно было переносить позже.
Учитывая эти возможности, могу ли я обменивать вызовы журналов в некоторых функциях или макросах? Цель состоит в том, что мой исходный код вызывает THAT_MACRO("Number of bunnies: %d", numBunnies);
в тысячах мест, но вызовы к вышеуказанным функциям видны только в одном месте.
Компилятор: arm-gcc -std = c99