我有一个 c++ 文件,它更改并保留所有头文件保持不变。但是每当我重新解析一个翻译单元时,libclang 最终都会消耗大量的 cpu 和 ram。尽管它使用的是预编译头文件和所有文件(我可以看到生成的前导文件),但它仍然需要相当多的资源和时间。
这是我的代码片段。
translation_unit_ = clang_parseTranslationUnit(index_, 0, clang_argv[0],
clang_argv.size() - 1, 0, 0,
clang_defaultEditingTranslationUnitOptions());
// File name is in the arguments.
// Here I reparse again every time file changes.
clang_reparseTranslationUnit(translation_unit_, 0, 0,
clang_defaultReparseOptions(translation_unit_));
// This is how I get diagnositics
CXDiagnostic diag = clang_getDiagnostic(translation_unit_, i);
谁能建议我正确设置以在单个更改的源文件中反复查找编译错误?