#clang #clang #libclang
Вопрос:
Я пытаюсь получить тип параметров и тип возврата функции C.
Например, у меня есть функция:
int addTwoIntegers(int a, int b){ return a b; }
Что мне нужно, так это: int (int, int)
Я использую интерфейс clang для создания AST. В настоящее время у меня есть:
CXString cursorVariables = clang_getCursorDisplayName( cursor ); string methodDecl = clang_getCString( cursorVariables ); cout lt;lt; methodDecl lt;lt; 'n';
Это дает мне:
addTwoIntegers(int, int)
и ничего о типе возвращаемого значения. Мой вопрос в том, как я должен получить возвращаемый тип функции из курсора CXCursor_FunctionDecl?
Комментарии:
1.
cout
lt;- Похоже, это C , а не c2. Я создаю clangAST для файла C
3. @FarrukhNabiyev: Я бы с пониманием отнесся к включению тега C, если бы понимание и ответ на вопрос касались какого-то вопроса или головоломки о C, но пока это выглядит не так. Возможно, для понимания объявления функции необходимы некоторые элементарные знания языка Си, но это хорошо известно любому, кто работает с внутренними устройствами Clang. Таким образом, тег C здесь не нужен и хотел бы быть просто шумом для большинства людей, которые следуют ему. Этот вопрос в первую очередь нуждается в знаниях Clang, а не в знаниях C. На самом деле нам даже не нужен тег C .
4. Спасибо за комментарий, я удалил тег c .