Если у меня есть несколько файлов в большом проекте, все из которых имеют большое количество включенных заголовочных файлов, есть ли способ поделиться работой по разбору файлов заголовков? Я надеялся, что создание одного индекса, а затем добавить несколько translationUnits к ней может вызвать некоторую работу для совместного использования - однако даже код вдоль линий (псевдокода)можно разделить работу при разборе нескольких файлов с помощью libclang?
index = clang_createIndex();
clang_parseTranslationUnit(index, "myfile");
clang_parseTranslationUnit(index, "myfile");
, кажется, берета полного количества времени для каждого вызова в parseTranslationUnit, не выполняя не лучше, чем
index1 = clang_createIndex();
clang_parseTranslationUnit(index1, "myfile");
index2 = clang_createIndex();
clang_parseTranslationUnit(index2, "myfile");
Я знаю, что существуют специализированные функции для повторной обработки и тот же файл; однако я действительно хочу, чтобы синтаксический анализ «myfile1» и «myfile2» мог разделить работу синтаксического анализа «myheader.h», а функции, зависящие от репарации, там не помогут.
В качестве подвопроса существует ли значительная разница между повторным использованием индекса и созданием нового индекса для каждой единицы перевода?