Libclang是Clang C家族編譯器家族的C接口。它提供了一個相對較小的API,該API將解析源代碼的設施暴露於抽象的語法樹(AST)中,加載已經放置的AST,穿越AST,將物理源位置與AST中的元素相關聯,以及支持基於Clang開發工具的其他設施。
Clang的C接口將永遠不會提供存儲在Clang的C ++ AST中的所有信息表示形式,也不應該:目的是維護從一個發行版到下一個版本相對穩定的API,僅提供支持開發工具所需的基本功能。
您可以在我的博客上找到有關Delphi的Libclang的文章。
neslib.clang通過兩種方式利用libclang:
Neslib.Clang.Api提供商單元的Libclang版本14.0的標題翻譯。您可以使用這些標頭翻譯,因為您將使用C語言中的libclang。可以在此處找到C API的文檔:https://clang.llvm.org/doxygen/index.html
單位Neslib.Clang提供了Libclang API的更高水平的抽象。它在Libclang API之上提供了薄類的模型,從而更容易從Delphi使用。此外,它提供自動內存管理,因此您不必擔心要發布哪些資源以及何時發布資源。
可以在neslib.clang.chm文件或在線網上找到Neslib.Clang單元的文檔。
由於Clang DLL非常大(64多MB),因此Neslib.Clang僅使用這些DLL的32位版本的船隻。如果您喜歡使用64位版本,則必須從LLVM下載頁面下載64位版本的LLVM(請務必選擇與此Neslib.Clang版本匹配的版本)。
安裝後,您將在bin目錄中找到libclang.dll 。您還需要從該目錄複製VC Runtime DLL( msvcp140.dll和vcruntime140.dll )。
Neslib.Clang已根據簡化的BSD許可獲得許可。有關詳細信息,請參見License.txt。