Мне было интересно, что является наиболее подходящим инструментом для извлечения имен функций, аргументов и их типов из исходного кода с (и в конечном итоге с ++). Я хотел бы использовать инструмент, который может быть максимально автоматизирован.
Я хочу извлечь типы сигнатур, а затем прочитать результат другой программой, написанной на Erlang. Моя цель состоит в том, чтобы использовать эту информацию для создания эквивалента типов C / подписей в Erlang (используя ei). Я хотел бы, чтобы этот процесс работал для любого файла C, поэтому я не могу использовать какие-либо жестко запрограммированные вещи.
Я нашел много инструментов, которые выглядят многообещающе, как CLang, CScope и ANTLR и так далее, но я не знаю, сработает ли какой-либо из них или есть ли лучший подход там.
Благодарю.
Конечно, есть что-то лучше, но если вы не найдете это:
gcc -aux-info output demo.c
sed '/include/d' output
Извлекает функции из исходного кода, пропуская стандартные функции
Других решений пока нет …