日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

“ compiler-rt”运行时runtime库

發(fā)布時間:2023/11/28 生活经验 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “ compiler-rt”运行时runtime库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

“ compiler-rt”運行時runtime庫
編譯器-rt項目包括:
? Builtins-一個簡單的庫,提供了代碼生成和其他運行時runtime組件所需的特定于目標的低級接口。例如,當為32位目標進行編譯時,將雙精度數(shù)轉換為64位無符號整數(shù)將編譯為對“ __fixunsdfdi”函數(shù)的運行時runtime調用。內置庫以與目標無關的C形式或經過高度優(yōu)化的程序集的形式提供了此示例和其他低級示例的優(yōu)化實現(xiàn)。
內建函數(shù)為受支持的目標上的libgcc接口提供了全面支持,并為匯編中的常用功能(如__floatundidf)提供了高性能的手動調試實現(xiàn),這些實現(xiàn)比libgcc實現(xiàn)快得多。通過添加內置目標來支持新目標應該很容易,因為該目標需要添加新的示例。
? sanitizer運行時runtime-使用sanitizer工具運行代碼所需的運行時runtime庫。這包括以下運行時runtime:
? AddressSanitizer
? ThreadSanitizer
? UndefinedBehaviorSanitizer
? MemorySanitizer
? LeakSanitizer
? DataFlowSanitizer
? profile -用于收集覆蓋范圍信息的庫。
? BlocksRuntime-蘋果“ Blocks”運行時runtime接口的與目標無關的實現(xiàn)。
根據(jù)MIT許可證和UIUC許可證(類似于BSD的許可證),compiler-rt項目中的所有代碼均具有雙重許可。
客戶群
當前,Clang 和LLVM項目主要將editor -rt用作運行時runtime編譯器支持庫的實現(xiàn)。有關將C ++編譯器與Clang一起使用的更多信息,請參見Clang 入門 文檔。
平臺支援
已知buildin可在以下平臺上工作:
? 硬件架構:i386,X86-64,SPARC64,ARM,PowerPC,PowerPC 64。
? 操作系統(tǒng):AuroraUX,DragonFlyBSD,FreeBSD,NetBSD,Linux,Darwin。
大多數(shù)sanitizer運行時runtime僅在Linux x86-64上受支持。有關更多詳細信息,請參見Clang文檔中特定于工具的文檔。
源結構
編譯器-rt的目錄結構的簡短說明:
為了進行測試,可以構建通用庫和優(yōu)化庫。通過將優(yōu)化版本覆蓋到通用庫上來形成優(yōu)化庫。當然,某些體系結構具有附加功能,因此優(yōu)化庫可能具有通用版本中找不到的功能。
? include /包含可以包含在用戶程序中的header(例如,用戶可以直接從sanitizer運行時runtime調用某些函數(shù))。
? lib /包含庫實現(xiàn)。
? lib / builtins是內置示例的通用可移植實現(xiàn)。
? lib / builtins /(arch)為支持的體系結構優(yōu)化了某些示例的版本。
? test /包含用于compile-rt運行時runtime的測試套件。
得到它并參與其中!
通常,需要構建LLVM / Clang才能構建Compiler-rt。可以將其與llvm和clang一起構建,也可以分別構建。
要將其構建在一起,只需將compile-rt添加到-DLLVM_ENABLE_PROJECTS =option to cmake。
要單獨構建它,首先分別 構建LLVM 以獲得llvm-config二進制文件,然后運行:
? cd llvm-project
? mkdir build-compiler-rt
? cd build-compiler-rt
? cmake …/compiler-rt -DLLVM_CONFIG_PATH = / path / to / llvm-config
? make
sanitizer運行時runtime的測試已移植到 llvm-lit,并通過LLVM / Clang / compiler-rt構建樹中的make check-all命令運行。
使用LLVM / Clang / compiler-rt或獨立的compile-rt構建樹中的make install命令將編譯器RT庫安裝到系統(tǒng)中。
compile-rt沒有自己的郵件列表,如果有任何疑問,請通過電子郵件發(fā)送llvm-dev郵件列表。提交到editor-rt SVN模塊的信息將自動發(fā)送到 llvm-commits 郵件列表。

總結

以上是生活随笔為你收集整理的“ compiler-rt”运行时runtime库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。