Инструмент abi-Compliance-Checker можно использовать в качестве анализатора заголовочных файлов C / C ++:
abi-compliance-checker -lib NAME -dump VER.xml -headers-only -xml -stdout > api.xml
VER.xml
входной файл следующий:
<version>
1.0
</version>
<headers>
/path1/to/header(s)/
/path2/to/header(s)/
...
</headers>
Выходной файл api.xml
содержит сигнатуры функций и другую информацию из заголовочных файлов в структурированной форме:
...
<symbol>
<id>37348</id>
<mangled>_ZN7MWidget11qt_metacallEN11QMetaObject4CallEiPPv</mangled>
<short>qt_metacall</short>
<class>13749</class>
<header>mwidget.h</header>
<line>45</line>
<return>44</return>
<spec>virtual</spec>
<parameters>
<param>
<name>p1</name>
<type>4078</type>
<algn>4</algn>
<pos>0</pos>
</param>
<param>
<name>p2</name>
<type>44</type>
<algn>4</algn>
<pos>1</pos>
</param>
<param>
<name>p3</name>
<type>3905</type>
<algn>8</algn>
<pos>2</pos>
</param>
</parameters>
</symbol>
...
См. Также информацию о api-sanity-checker инструменте, который может генерировать базовые тестовые примеры для каждой функции в API посредством анализа объявлений в заголовочных файлах.