Вы также можете искать некоторые библиотеки трассировки. Есть некоторые, которые делают вещи, подобные тому, что я обрисовал в общих чертах.

тоящее время я пишу код на C, и у меня есть много printfs, чтобы я мог иногда отслеживать поток моего приложения. Проблема в том, что иногда мне нужно больше деталей, чем другим, поэтому я обычно трачу свое время на комментирование / раскомментирование своего C-кода, чтобы я мог получить соответствующий вывод.

При использовании Java или C # я обычно могу отделить оба кода реализации от логики ведения журнала, используя Аспекты.

Есть ли подобная техника, которую вы используете в C, чтобы обойти эту проблему?

Я знаю, что мог бы поставить флаг с именем DEBUG, который мог бы быть либо включен, либо выключен, так что мне не нужно было бы ходить вокруг и комментировать / раскомментировать весь мой код каждый раз, когда я хочу либо показать, либо скрыть printfs. Вопрос в том, что я хотел бы также избавиться от логики логирования в моем коде.

Если бы вместо C я программировал на C ++, было бы лучше?

редактировать

Кажется, что есть AspectC ++, поэтому для C ++, похоже, есть решение. Как насчет C?

Спасибо

Ответы на вопрос(6)

Ваш ответ на вопрос