#c #llvm
#c #llvm
Вопрос:
Я использую llvm::cl
(из llvm 11) для обработки параметров моей программы и хочу получить доступ к именам всех зарегистрированных параметров и их проанализированным значениям. Хотя я могу получить доступ к самим параметрам getRegisteredOptions()
, я не вижу способа получить доступ к проанализированным значениям.
Существуют функции печати, которые внутренне вызывают getOptionValue()
метод класса синтаксического анализатора, но я также не могу понять, как получить доступ к классу синтаксического анализатора для данного параметра. https://llvm.org/doxygen/CommandLine_8cpp_source.html#l02020
Если бы у меня это было, я думаю, код выглядел бы примерно так:
for (auto amp;opt_entry : llvm::cl::getRegisteredOptions()) {
auto name = opt_entry.first();
llvm::cl::Option *opt = opt_entry.second;
auto pos = opt->getPosition();
// llvm::cl::generic_parser_base::getOptionValue(pos); <-- but with a parser object
}
Комментарии:
1. Посмотрите здесь formalverification.cs.utah.edu/llvm_doxy/2.9 /… начиная со строки 106 и посмотрите, поможет ли вам это.
2.Может быть, взгляните на эти ссылки: llvm.org/doxygen/classllvm_1_1cl_1_1parser.html llvm.org/docs/CommandLine.html