проанализировать файл заголовка, чтобы найти имя функции - PullRequest
0 голосов
/ 02 февраля 2012

Привет всем. Я хочу разобрать файл заголовка, чтобы напечатать все имена функций (только имя) в файле заголовка. Есть ли способ сделать это, как я могу сделать это с любым другим языком и встроить этот код в мою программу на C? Или мне нужно прочитать файл с самого начала и разобрать его каким-то образом, чтобы найти имя функции? Есть ли лучший способ?

Ответы [ 3 ]

1 голос
/ 02 февраля 2012

Если вас интересуют только имена функций в файле * .h, используйте простое правило регулярных выражений для их извлечения. Так что да, вы можете сделать это практически на любом языке, который поддерживает регулярные выражения.

Некоторое время назад здесь была тема об этом. Regex для извлечения объявлений прототипов функций C?

0 голосов
/ 02 февраля 2012

Конечно, вы должны прочитать файл с самого начала и проанализировать его, как правило, это то, как вы извлекаете информацию из файлов.

Не уверен, что другие методы для других языков, на которые вы ссылаетесь, этоКонечно, это работает для всех языков, которые представляют программы как последовательности символов.

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

0 голосов
/ 02 февраля 2012

Вы можете рассмотреть возможность расширения GCC с помощью плагина или расширения MELT для этой цели.За исключением того, что это, вероятно, будет стоить вам больше работы, чем вставка копий имен или какое-то уродливое текстовое решение.

Вы также можете использовать команду nm для обнаружения определенных функций в объектных файлах.* Если вас беспокоит клейкий код между C и другим языком, вы можете посмотреть SWIG

...