Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Category:

Как лаконично написать макрос TODO?

Почему-то у gcc нет опции _Pragma(GCC message). Пробую реализовать так:
#define DO_PRAGMA(x) _Pragma (#x)
#define TODO(x) DO_PRAGMA(GCC warning #x)

В "чистовой" сборке работает, а вот в debug — нет (т.к. у меня в debug-сборке добавляется -Werror).
И как же быть? Как не забыть обо всех своих TODO'шках, чтобы во время сборки напоминания постоянно вылезали? Писать вручную
#pragma message "TODO: add very usefull feature"

лень... Да и TODO-макросы можно было бы скрывать в чистовых сборках.

UPD. Плохой все-таки из меня "гугольщик"! Стал уже писать вопрос на SO, как вылезли похожие, и среди них было как раз то, что мне нужно!
В общем, вот как:
#ifdef EBUG
#define DO_PRAGMA(x) _Pragma (#x)
#define TODO(x) DO_PRAGMA(message #x)
#else
#define TODO(x)
#endif

Плохо я гуглил о _Pragma! Оказывается, не нужно там GCC ... писать.

P.S. Что-то давно я на stackexchange не заходил. "Карма" в стагнации...
Tags: c, рукожопие
Subscribe

  • И еще ремонты

    Больше месяца назад пыталась жена в очередной раз сдать зеленчукскую квартиру. Но вменяемых желающих не появилось (зато постоянно доставали лица…

  • Опять в генте что-то поломали

    Обновил вчера домашнюю систему. Давно не обновлял: больше 250 пакетов в списке было. А после обновления обнаружил, что в консоли кириллица есть, а в…

  • "Тетрис" и "змейка"

    Дорисовал заглавные буквы в шрифте в 8 пикселей высотой и можно сказать закончил "змейку" (видео) и тетрис (видео). Код на гитхабе. Все-таки,…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 4 comments