1、LLVM 介紹編程
參考:百度百科https://baike.baidu.com/item/LLVM/3598690?fr=aladdinapp
可參考蘋果官方文檔更具體框架
https://developer.apple.com/library/content/documentation/CompilerTools/Conceptual/LLVMCompilerOverview/編程語言
LLVM是構架編譯器(compiler)的框架系統,以C++編寫而成,用於優化以任意程序語言編寫的程序的編譯時間(compile-time)、連接時間(link-time)、運行時間(run-time)以及空閒時間(idle-time),對開發者保持開放,併兼容已有腳本。模塊化
LLVM 命名最先源自於底層虛擬機(Low Level Virtual Machine)的縮寫,因爲命名帶來的混亂,目前LLVM就是該項目的全稱。LLVM 核心庫提供了與編譯器相關的支持,能夠做爲多種語言編譯器的後臺來使用。可以進行程序語言的編譯期優化、連接優化、在線編譯優化、代碼生成。LLVM的項目是一個模塊化和可重複使用的編譯器和工具技術的集合。LLVM是伊利諾伊大學的一個研究項目,提供一個現代化的,基於SSA的編譯策略可以同時支持靜態和動態的任意編程語言的編譯目標。工具