中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解Wind River Diab

發布時間:2021-11-23 14:25:58 來源:億速云 閱讀:290 作者:柒染 欄目:互聯網科技

這篇文章給大家介紹如何理解Wind River Diab,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Wind River Diab編譯器是一款不依賴于操作系統的工具套件,內含C/C++編譯器(compiler)、匯編器(assembler)、鏈接器(linker)、指令集模擬器(instruction-set simulator)以及ANSI C和C++函數庫(library)等。Wind River Diab編譯器基于DIAB編譯器技術設計,這種技術被普遍運用于各種要求極為嚴格、負責執行關鍵任務的應用上,在工業自動化、國防航空、汽車內部控制等相關系統中有著大量的應用實例。  

Diab編譯器套件包含了高性能的C和C++工具,可以提供最先進的優化技術,可以快速創建更可靠的代碼。Diab編譯器及其它工具具有更快的執行速度,并提供內置的可定制檢測功能,可用于更早的發現代碼問題。
通過強大的鏈接器,更好的組織內存中的代碼與數據;并提供數百個命令行選項和編譯指令,可以滿足任何設備的軟件項目的定制需求。還提供了特殊選項,專門用于其它工具的兼容和代碼的移植。

重要的編譯器特性和擴展

■大量編譯器控件和選項,使編譯器操作和代碼生成更加靈活

■大量針對嵌入式設備開發者的功能和擴展

■針對x86系列的每種處理器分別定制的優化和功能

■廣泛的編譯時檢查,以檢測可疑和不可移植的結構

■強大的分析能力,定位代碼瓶頸。分析信息還可以自動用作對編譯器的反饋,從而實現更積極的優化

■C++模板、異常和運行時類型信息

高性能優化

各種各樣的優化,其中一些是Diab編譯器獨有的,可以產生更加快速緊湊的代碼。特殊的優化包括出色的過程間寄存器分配、內聯和可達性分析。優化分為三類:局部、函數級和程序級

■代碼塊內的局部優化

  • 常量折疊 Constant folding

  • 整除優化 Integer divide optimization

  • 局部公共子表達式消元 Local common sub-expression elimination

  • 局部強度折減 Local strength reduction

  • 輕微轉換 Minor transformations

  • 窺孔優化 Peep-hole optimizations

  • Switch優化 Switch optimizations

■函數內的全局優化

  • 自動遞增/遞減優化 Auto increment/decrement optimizations

  • 自動寄存器分配 Automatic register allocation

  • 復雜分支優化 Complex branch optimization

  • 條件代碼優化 Condition code optimization

  • 常量傳播 Constant propagation

  • 死碼消除 Dead code elimination

  • 延遲分支優化 Delayed branches optimization

  • 延遲寄存器保存 Delayed register saving

  • 出入口代碼消除 Entry/exit code removal

  • 擴展優化 Extend optimization

  • 全局公共子表達式消元 Global common sub-expression elimination

  • 全局變量存儲延遲 Global variable store delay

  • 生存周期分析(著色) Lifetime analysis (coloring)

  • 鏈接寄存器優化 Link register optimization

  • 循環倒計時優化 Loop count-down optimization

  • 循環不變量代碼移動 Loop invariant code motion

  • 循環靜態變量優化 Loop statics optimization

  • 循環強度縮小 Loop strength reduction

  • 循環展開 Loop unrolling

  • 內存讀寫優化 Memory read/write optimizations

  • 重新排序代碼調度 Reordering code scheduling

  • 重啟優化 Restart optimization

  • 支鏈優化 Branch-chain optimization

  • 空間優化 Space optimization

  • 拆分優化 Split optimization

  • 寄存器的結構體和位域成員 Structure and bit-field member to registers

  • 尾遞歸 Tail recursion

  • 尾部挑戰優化 Tail jump optimization

  • 未定義變量傳播 Undefined variable propagation

  • 未使用賦值刪除 Unused assignment deletion

  • 變量位置優化 Variable location optimization

  • 變量傳播 Variable propagation

■ 函數間全局優化

  • 參數地址優化 Argument address optimization

  • 函數內聯 Function inlining

  • 粘合函數優化 Glue function optimization

  • 程序間優化 Interprocedural optimizations

  • 文字合成優化 Literal synthesis optimization

  • 局部數據區優化 Local data area optimization

  • 分析反饋優化 Profiling feedback optimization

移植性

■編譯器實現了ANSI C++標準(ISO/IEC FDIS 14882),包括異常、模板和運行時類型信息(RTTI)

■對于C模塊,編譯器完全符合ANSI X3.159-1989標準(即ANSI C),并帶有與其它編譯器兼容的擴展,以簡化Legacy代碼的移植

■標準C程序可以用嚴格的ANSI選項編譯,該選項關閉擴展并將語言簡化為標準核心。或者,可以根據需要使用擴展來逐步升級程序

■產生完全相同的二進制輸出,與Host平臺無關

關于如何理解Wind River Diab就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平昌县| 麻江县| 阿拉善右旗| 民权县| 习水县| 科技| 阿荣旗| 遂平县| 托克逊县| 囊谦县| 富顺县| 固原市| 连南| 洞口县| 德化县| 晋中市| 贞丰县| 韶山市| 红安县| 澜沧| 新郑市| 伊宁市| 京山县| 南郑县| 抚宁县| 安福县| 息烽县| 云龙县| 亚东县| 安平县| 满洲里市| 隆回县| 武鸣县| 忻城县| 壤塘县| 全州县| 长乐市| 星子县| 武功县| 鄂温| 九龙县|