• <menu id="w2i4a"></menu>
  • 英特爾 C++ 編譯器 Mac OS* 標準版授權(quán)購買
    下載:169 收藏:33

    英特爾 C++ 編譯器 Mac OS* 標準版 (產(chǎn)品編號:10909)

    針對基于先進雙核英特爾? 酷睿? 雙核處理器的新一代 Mac* 計算機開發(fā)經(jīng)過優(yōu)化的軟件。

    標簽:

    開發(fā)商: Intel Software

    當前版本:

    產(chǎn)品類型:軟件

    產(chǎn)品功能:IDE集成開發(fā)環(huán)境

    平臺語言:多語言

    開源水平:不提供源碼

    本產(chǎn)品的分類與介紹僅供參考,具體以商家網(wǎng)站介紹為準,如有疑問請來電 023-68661681 咨詢。

    針對基于先進雙核英特爾? 酷睿? 雙核處理器的新一代 Mac* 計算機開發(fā)經(jīng)過優(yōu)化的軟件?!坝⑻貭?C++ 編譯器 Mac OS 標準版”有助于充分釋放此平臺的潛力,開拓新的市場?!坝⑻貭?C++ 編譯器 Mac OS 標準版”支持多線程應(yīng)用程序的開發(fā),集成 Xcode 2.2.1,并且同 GCC 4.0 保持交互操作性。通過在一個經(jīng)過編譯的軟件包中結(jié)合 PowerPC* 與英特爾體系結(jié)構(gòu)自帶的代碼,它支持 Universal Binaries 的生成,從而簡化兩者之間的轉(zhuǎn)換。

    * 關(guān)于本產(chǎn)品的分類與介紹僅供參考,精準產(chǎn)品資料以官網(wǎng)介紹為準,如需購買請先行測試。

    Mac 與多核心功能概述
    • 以下特性專門講述基于英特爾® 處理器的新 Mac 機的體系結(jié)構(gòu)功能。這里只對每項功能作簡要的介紹,同時提供指向更完整說明的鏈接。
      • 多線程應(yīng)用程序支持(包括 OpenMP* 與自動并行功能)讓您可以充分利用多核心技術(shù)(如英特爾酷睿雙核處理器)的優(yōu)勢。
      • Xcode* 2.2.1 集成讓開發(fā)人員可以繼續(xù)使用自己熟悉的這個環(huán)境,同時還能從英特爾編譯器先進的功能中獲益匪淺。
      • 包含與 GCC 4.0 互操作的功能:同 GCC 在源代碼、二進制代碼以及命令行等方面保持著優(yōu)異的兼容性。
      • 對 Apple 框架的支持使得這個強大的 Apple 編程模型可以在基于英特爾酷睿雙核處理器的平臺上很好地工作。
    先進的優(yōu)化功能概述
    • 基于英特爾處理器的 Mac 硬件同樣可以從各項先進的優(yōu)化功能中獲益,這里只簡要介紹其中的一小部分,同時提供指向更完整說明的鏈接。
      • 過程間優(yōu)化 (IPO) 對于包含常用中、小函數(shù)的程序,特別是循環(huán)內(nèi)包含調(diào)用的程序,可以極大地提高其性能。
      • 檔案導(dǎo)引優(yōu)化 (PGO) 通過減少指令緩存反覆、重新組織代碼布局、縮減代碼長度以及減少分支預(yù)測失誤,來幫助提高應(yīng)用程序的性能。
      • 自動矢量器可以將代碼并行化,并進行數(shù)據(jù)對齊(包括進行循環(huán)剝離),以生成對齊的加載,進行循環(huán)展開以匹配整個緩存線的預(yù)取。
      • 高級別優(yōu)化 (HLO) 通過使用循環(huán)變換和預(yù)取功能來實現(xiàn)主動優(yōu)化。
      • 英特爾® 調(diào)試器對于已針對英特爾® 體系結(jié)構(gòu)進行過優(yōu)化的代碼,可以提高其調(diào)試過程的效率。
    深入介紹 Mac* 與多核心功能
    • 這部分詳細介紹上文“Mac 與多核心功能概述”部分簡要介紹的各項功能。
    多線程應(yīng)用程序支持:
    • OpenMP 與自動并行功能幫助將串行應(yīng)用程序轉(zhuǎn)換成并行應(yīng)用程序,使您可以充分利用多核心技術(shù)(如英特爾® 酷睿™ 雙核處理器)以及對稱多處理系統(tǒng)的優(yōu)勢:
      • OpenMP* 是可移植多線程應(yīng)用程序開發(fā)的行業(yè)標準。它在細粒度(循環(huán)級別)與粗粒度(函數(shù)級別)線程技術(shù)上都非常有效。
      • 對于將串行應(yīng)用程序轉(zhuǎn)換成并行應(yīng)用程序,OpenMP 指令是一種簡單但是卻很強大的手段,通過這種轉(zhuǎn)換,由于在多核心與對稱多處理器系統(tǒng)上并行執(zhí)行,性能可能會有很大幅度的提升。
      • 自動并行通過自動將循環(huán)線程化來提高應(yīng)用程序在多處理器系統(tǒng)上的性能。此選項檢測能安全地并行執(zhí)行的并行循環(huán),然后自動生成多線程代碼。
      • 自動并行功能使得用戶不必去處理迭代劃分、數(shù)據(jù)共享、線程調(diào)度以及同步等細枝末節(jié)。它還能夠利用多處理器系統(tǒng)與支持“超線程技術(shù)”的系統(tǒng)所帶來的性能優(yōu)勢。
      • 如需有關(guān)多線程應(yīng)用程序支持的詳細信息,請訪問英特爾的線程技術(shù)開發(fā)人員中心。
    Xcode 2.2.1 集成
    • “英特爾 C++ 編譯器 Mac OS 標準版與專業(yè)版”同 Xcode 2.2.1 兼容,使得開發(fā)人員可以在使用這個主流 IDE 的同時,還可以充分利用英特爾提供的各項先進的優(yōu)化功能。
    • 通過使用“英特爾 C++ 編譯器 Mac OS 版”與 GCC for PowerPC*,可以從 Xcode 環(huán)境中生成“C/C++ 通用二進制代碼”,保持與 GCC 4.0 的兼容性。按照設(shè)計,“通用二進制代碼”在一個編譯后的軟件包中綜合了 PowerPC 與英特爾這兩種體系結(jié)構(gòu)的本機代碼,簡化了這兩種體系結(jié)構(gòu)之間的轉(zhuǎn)換。
    • 對于不含處理器相關(guān)內(nèi)容的高級代碼,只需極少量的更改(如果有),便可以創(chuàng)建“通用二進制代碼”。對于包含硬件相關(guān)內(nèi)容的底層代碼,挑戰(zhàn)性要更大一些。
    GCC 4.0 互操作性
    • GNU C/C++ 兼容性功能可以確保同 GNU C 在源代碼與目標代碼方面保持兼容。“英特爾 C++ 編譯器 Mac OS 標準版與專業(yè)版”支持 GCC 擴展,可以幫助輕松移植應(yīng)用程序,使得您只要重新編譯現(xiàn)有的軟件,便能改善應(yīng)用程序的性能。另外,您也不用徹底換掉編譯器,而只需在構(gòu)建應(yīng)用程序時,使用“英特爾 C++ 編譯器 Mac OS 版”編譯特定的模塊,然后將它們鏈接到 GNU C 編譯的模塊即可。 “英特爾 C++ 編譯器 Mac OS 版”還符合 C++ ABI 標準,與 GCC 4.0 在二進制代碼方面的兼容性更為強大。
    對 Apple 框架的支持
    • Apple 框架是用于分發(fā)共享資源的一種特殊形式的軟件包,這些共享資源包括庫代碼、資源文件、頭文件以及參考文檔。它們在使用動態(tài)共享庫方面非常靈活,這一點常常很受歡迎。如需有關(guān) Apple 框架的詳細信息,請訪問 Apple 網(wǎng)站*。
    深入介紹先進的優(yōu)化功能
    • 過程間優(yōu)化 (IPO)
      這部分詳細介紹上文“Mac 與多核心功能概述”部分簡要介紹的各項功能。
      圖 1. 過程間優(yōu)化的過程。

      如“圖 1”所示,IPO 過程要求首先使用 IPO 選項編譯源文件,然后創(chuàng)建包含供編譯器使用的中間語言 (IL) 的目標 (.o) 文件。進行鏈接時,編譯器合并所有的 IL 信息,并通過分析找出其中有待優(yōu)化的地方。IPO 過程中所采取的典型優(yōu)化措施包括:過程內(nèi)嵌與重新排序、消除死(執(zhí)行不到的)代碼以及常數(shù)傳播,也就是使用已知的值代替常數(shù)。由于添加了多個過程的上下文,可以安全地執(zhí)行更進一步的優(yōu)化,因此IPO 可以在過程內(nèi)級別上執(zhí)行進一步的優(yōu)化。
    • 檔案導(dǎo)引優(yōu)化 (PGO)
      圖 2. 檔案導(dǎo)引優(yōu)化的過程。
      “檔案導(dǎo)引優(yōu)化”(PGO) 編譯過程使“英特爾 C++ 編譯器”可以更好地利用處理器微體系結(jié)構(gòu),更有效地使用指令調(diào)度與高速緩存,并可以更好地執(zhí)行分支預(yù)測。通過重新組織代碼布局以減少指令緩存反覆、縮減代碼長度并減少分支預(yù)測失誤,它可以幫助提高應(yīng)用程序性能。
      如“圖 2”所示,PGO 過程分為三個階段。這些步驟包括:1) 應(yīng)用程序編譯階段,此時進行指令插入;2) 檔案生成階段,此時執(zhí)行并監(jiān)視應(yīng)用程序;3) 重新編譯階段,此時使用第一次運行期間采集的數(shù)據(jù)幫助進行優(yōu)化。下面介紹多個影響檔案導(dǎo)引優(yōu)化的代碼長度:
      • 基本指令塊與函數(shù)排序 - 將經(jīng)常執(zhí)行的指令塊與函數(shù)放在一起,以充分利用指令緩存的區(qū)域性。
      • 輔助內(nèi)嵌決策 - 內(nèi)嵌經(jīng)常執(zhí)行的函數(shù),這樣雖然會增加代碼長度,但在對性能影響最大的地方卻可以得到很好的補償。
      • 輔助矢量化決策 - 對遍歷計數(shù)高且經(jīng)常執(zhí)行的循環(huán)進行矢量化處理,這樣雖然會增加代碼長度,但性能的提高卻可以減輕其負面影響。
    • 自動矢量器
      矢量化功能自動對代碼進行并行處理,以最大限度發(fā)揮處理器的潛能。這種先進的優(yōu)化技術(shù)通過利用 MMX™ 技術(shù)、SSE、SSE2 以及 SSE3 指令來分析循環(huán),并確定何時可以安全有效地并行執(zhí)行多個循環(huán)迭代?!皥D 3”用圖形表示經(jīng)過矢量化的循環(huán),它在一次 SSE2 運算中計算四個迭代。使用矢量化功能可以優(yōu)化應(yīng)用程序代碼,在英特爾處理器上運行時,可以充分利用這些新的擴展功能。提供的功能包括支持各種先進的動態(tài)數(shù)據(jù)對齊策略,其中有可以生成對齊加載的循環(huán)剝離技術(shù),可以匹配整個緩存線預(yù)取的循環(huán)展開技術(shù)等。
      圖 3. 矢量器工作原理
    • 高級別優(yōu)化 (HLO)  
      數(shù)據(jù)預(yù)取是規(guī)避內(nèi)存訪問延遲的有效技術(shù),可以在許多計算密集型應(yīng)用中顯著提高性能。數(shù)據(jù)預(yù)取在程序中的特定點上為所選數(shù)據(jù)引用插入預(yù)取指令,使引用的數(shù)據(jù)項在實際使用之前就已盡可能地移近處理器(放入高速緩存)。
      循環(huán)展開將兩個或更多個循環(huán)迭代合并到一起,以減少循環(huán)計數(shù)。循環(huán)展開雖然常常會導(dǎo)致代碼長度增加,但它可以減少必須執(zhí)行的指令數(shù)。下面是一個非常簡單的循環(huán)展開示例,它從循環(huán)中刪除了一個分支:
    • 英特爾® 調(diào)試器
      “英特爾調(diào)試器”支持對優(yōu)化過的代碼進行調(diào)試(也就是說,對為了在特定的硬件體系結(jié)構(gòu)上取得最佳執(zhí)行效果而大幅改動過的代碼進行調(diào)試)。對于優(yōu)化過的代碼的調(diào)試,英特爾編譯器產(chǎn)生符合多項標準的調(diào)試信息,支持英特爾編譯器的所有調(diào)試器均可使用這些信息。“英特爾調(diào)試器”支持多核心體系結(jié)構(gòu),能夠調(diào)試多線程應(yīng)用程序,并提供以下相關(guān)的功能:
      • 全部停止/全部執(zhí)行模型(即,一個線程停止時所有的線程都停止,一個線程恢復(fù)執(zhí)行時所有的線程也都恢復(fù))。
        • 列出創(chuàng)建的所有線程。
        • 在各個線程之間切換焦點。
        • 檢查詳細的線程狀態(tài)。
      • 設(shè)置斷點(包括所有的停止、跟蹤及觀察形式),并顯示所有線程或一部分線程的堆?;厮?
      • 內(nèi)置的圖形用戶界面提供一個“線程”面板(在“當前源代碼”窗格中),創(chuàng)建線程時激活該面板,供操作員選擇線程焦點并顯示相關(guān)的細節(jié)
      • 最近改進過的“GNU 項目調(diào)試器”(GDB 調(diào)試器)也可用于并行應(yīng)用程序中。如需有關(guān)詳細信息,請參閱英特爾調(diào)試器技術(shù)白皮書 (PDF 211KB)。
    • 兼容性與靈活性
      符合多項標準
      “英特爾 C++ 編譯器 Mac OS 標準版與專業(yè)版”完全符合多項標準,其中包括對以下標準的支持:
      • ANSI C/C++ 標準
      • ISO C/C++ 標準
      • GNU 內(nèi)嵌匯編代碼
      • C++ ABI 目標模型
    • 高級別優(yōu)化 (HLO)
      • 數(shù)字家庭、游戲及娛樂應(yīng)用得到了“英特爾 C++ 編譯器 Mac OS 標準版與專業(yè)版”很好地支持,多核心平臺上的并行處理功能在下載、安全性及后臺其它任務(wù)的處理方面表現(xiàn)出色,不會給用戶體驗造成任何負面影響。
      • 移動計算軟件從英特爾編譯器的功能中受益匪淺:在多核心移動計算平臺(如基于英特爾酷睿雙核處理器的平臺)上,它不僅可以提高性能,而且生成的應(yīng)用程序功耗很低,從而可以延長電池使用時間。
      • 圖形設(shè)計一直以來都是 Macintosh 平臺表現(xiàn)最為突出的關(guān)鍵領(lǐng)域。通過使用英特爾編譯器來縮短延遲與渲染時間,同時還允許軟件架構(gòu)師來添加其它的功能,而不會對性能造成無法接受的影響,因此它能帶來顯著的性能優(yōu)化。
    系統(tǒng)要求
    主機系統(tǒng)

    目標系統(tǒng)

    更新時間:2014-02-19 13:51:40.000 | 錄入時間:2006-05-11 16:58:00.000 | 責任編輯:陳俊吉

    實時了解產(chǎn)品最新動態(tài)與應(yīng)用

    掃碼聯(lián)系 獲取幫助

    相關(guān)產(chǎn)品
    軟件
  • 產(chǎn)品功能:IDE集成開發(fā)環(huán)境
  • 源 碼:非開源
  • 產(chǎn)品編號:14323
  • 當前版本:v2023.3 [銷售以商家最新版為準,如需其他版本,請來電咨詢]
  • 開 發(fā) 商: JetBrains 正式授權(quán)
  • ">Space

    是一個針對軟件項目和團隊的一體化解決方案。

    軟件
  • 產(chǎn)品功能:IDE集成開發(fā)環(huán)境
  • 源 碼:非開源
  • 產(chǎn)品編號:14321
  • 當前版本:v2024.2 [銷售以商家最新版為準,如需其他版本,請來電咨詢]
  • 開 發(fā) 商: JetBrains 正式授權(quán)
  • ">GoLand

    強大的Go IDE,使 Go 代碼的閱讀、編寫和更改變得非常容易。

    軟件
  • 產(chǎn)品功能:IDE集成開發(fā)環(huán)境
  • 源 碼:非開源
  • 產(chǎn)品編號:14356
  • 當前版本:v12 [銷售以商家最新版為準,如需其他版本,請來電咨詢]
  • 開 發(fā) 商: Embarcadero 正式授權(quán)
  • ">RAD Studio

    RAD Studio? 是一款終極 IDE,用于在 Delphi 中快速構(gòu)建引人注目的單源多平臺本機

    軟件
  • 產(chǎn)品功能:IDE集成開發(fā)環(huán)境
  • 源 碼:非開源
  • 產(chǎn)品編號:14357
  • 當前版本:v12 [銷售以商家最新版為準,如需其他版本,請來電咨詢]
  • 開 發(fā) 商: Embarcadero 正式授權(quán)
  • ">Delphi

    Delphi? 是先進的 IDE,可快速開發(fā)單源多平臺高性能本機應(yīng)用程序。

    軟件
  • 產(chǎn)品功能:IDE集成開發(fā)環(huán)境
  • 源 碼:非開源
  • 產(chǎn)品編號:
  • 當前版本:v12 [銷售以商家最新版為準,如需其他版本,請來電咨詢]
  • 開 發(fā) 商: Embarcadero 正式授權(quán)
  • ">InterBase

    InterBase是Embarcadero Technologies公司開發(fā)的一款關(guān)系數(shù)據(jù)庫管理系統(tǒng)

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();