2015-08-13 2 views
3

Я читал некоторые коды, которые в значительной степени используют API библиотеки Clang. Тем не менее, я вообще не знаком с Clang API, и мне все время приходится делать это в Google. Например, когда я прочитал некоторый код, например clang::EnumConstantDecl, я последую за Google и перейду к this page. Кажется, что все о EnumConstantDecl можно найти здесь, но все, что я вижу, это всего лишь список API (или просто какой-то прототип функции) без каких-либо конкретных объяснений. Я до сих пор не знаю, как его использовать.Есть ли подробная документация API библиотеки Clang?

Итак, есть ли какая-либо другая хорошая документация? Или, есть ли какие-то базовые знания, которых я не хватает?

ответ

0

страница связывание внутренняя документация лязг и содержит биты объяснения о том, что он делает:

EnumConstantDecl - Экземпляр этого объекта существует для каждого перечисления константы, определенная. Например, в «перечислении X {a, b}» каждый из a/b является EnumConstantDecl, X является экземпляром EnumDecl, а тип a/b является типом TagType для X EnumDecl.

Документация не должна содержать примеры использования. Они прямо говорят на их главной странице:

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

Однако, вы можете искать другой лязг материал по адресу:

http://clang.llvm.org/docs

особенно «Использование Clang в качестве библиотеки» могут быть полезны для Вас. Однако, поскольку я не знаю точно, над чем вы работаете, я не могу дать вам более точные указания. Надеюсь, однако, что вы можете взять его здесь ...

+0

Спасибо. Я хочу найти подробную документацию о Clang API (его общее описание и некоторые примеры использования его API), но я до сих пор не нашел его. – user3162587

0

Что мне больше всего помогает, просто ищет источник LLVM/Clang для использования, например. clang::EnumConstantDecl или его член и методы. Он служит неплохо, как источник высококачественных примеров использования. Просто убедитесь, что вы используете среду IDE, с которой можно справиться с огромным количеством кода.

Я сомневаюсь, что есть более эффективный способ привыкнуть к этому API.

0

Нет, нет ничего более значительного, чем документация Doxygen. Вам нужно будет просто прочитать его и сделать обоснованное предположение. Разработчики Clang ответят на вопросы в своем канале IRC; но там нет никакой гарантии полезной помощи, и они часто расскажут вам просто прочитать источник.

Смежные вопросы