Аннотирование кода C/С++

Недавно я познакомился с Microsoft Стандартным языком аннотаций (SAL) для аннотирования исходных кодов C/С++. Эта функция может быть очень полезна для отладки и во время разработки, но, к сожалению, это не переносная кросс-платформенная библиотека. Есть ли какой-либо стандартный инструмент с открытым исходным кодом для аннотирования кодов C/С++? Есть ли аналогичная функция в gcc?

Ответ 1

Ближайшим, что я знаю, является атрибуты GCC, но другие компиляторы не поддерживают синтаксис. Синтаксис атрибута GCC не поддерживает столько аннотаций, сколько SAL, но вы можете найти некоторые полезные аннотации.

В качестве альтернативы, если вы используете шаблоны, вы можете проверить Boost Static Assert, которые поддерживает большинство компиляторов.

Также обратите внимание, что CLANG поддерживает больше аннотаций, чем GCC, и использование статического анализатора CLANG может быть ближе к тому, что вы хотите.