Блог    Теги    RSS    Файлопомойка Мой Github Мой Telegram

Блог №200 по адресу 0708:07C7 / Статический анализ вызовов printf-like функций

16 ноября 2015, 11:38
При разработке для встраиваемых систем зачастую приходится писать свои реализации printf и подобных функций. Однако для самописных функций не работает опция "-Wformat": проверка вызовов на корректность аргументов (сверка количества и типов аргументов со строкой форматирования). Для решения этой проблемы в GCC существует специальный атрибут функции "format". Пример применения:

int fmt( void (*put)(char,void**), void *putarg, const char *fmt, ... )
__attribute__ ((format (__printf__, 3, 4)));

Первым аргументом атрибута идёт тип проверки (__printf__, __scanf__, __strftime__, __strfmon__), второй - номер аргумента с форматом (нумерация с 1), третий - номер аргумента с которого начинается список аргументов (...).
Теги: #gcc   #c  

Комментарии RSS

Ваше имя:

E-mail (будет скрыт):

Текст: