成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

熱點技術:GCC6 即將帶來的新特性

開發 前端
GCC項目在每年的三/四月份都會作出重大更新。三月即將到來,GCC項目的工程師們正忙著GCC 6的發布。我將在百忙之中抽出一點時間,簡短地談論一些GCC 6的新特性。

GCC項目在每年的三/四月份都會作出重大更新。三月即將到來,GCC項目的工程師們正忙著GCC 6的發布。我將在百忙之中抽出一點時間,簡短地談論一些GCC 6的新特性。

 

警告

GCC力圖實現一些警告,這些警告可以幫助開發者在編譯時發現錯誤,而不是讓潛在的危險代碼被默默接受并最終部署。對于 GCC 6,主要增加的是警告如下:

誤導性的縮進:對誤導性縮進進行警告的目的是檢測出代碼結構中與人類理解不相符的代碼塊。最明顯的例子就是 2014年的“Apple SSL”bug,不恰當的縮進看上去是將GOTO語句放在了IF條件語句里面,而實際上呢并沒有放在IF的判斷分支內。更多的細節見David Malcolm的一篇博客。

同值比較:代碼中將一個對象跟它自己比較或者跟始終與同一值比較的情況,通常是代碼中的筆誤。GCC 6將對這種比較進行警告。

重復的條件:GCC 6將對IF-ELSE-IF比較鏈中重復的條件進行警告。

負移位值和移位溢出: GCC現在將對左移一個負值或者左移溢出進行警告。這種行為通常會導致未定義的結果,相比于運行時產生未定義結果,在編譯時就報出警告是更明智的選擇。

空引用:GCC更積極的檢測那些由于空指針引用或者返回空值引起錯誤和未定義行為的邏輯路徑,或者將空值賦給明確要求非空的函數參數的情況。

特性

每一個版本的gcc都會帶來各種新的特性,這些新特性讓使用GCC開發變得更加容易。即將到來的GCC 6版本的亮點包括:

OpenMP 4.5:OpenMP API提供了一組簡單、但高度靈活的接口來開發并行C、C++和Fortran程序。2015年11月發布了OpenMP 4.5規范,該規范在現有的OpenMP4.0基礎上有了很多改進。GCC 6將為C和C++提供OpenMP 4.5的支持,對Fortran提供OpenMP 4支持以及對offloading一定程度的支持,尤其對于Intel MIC處理器。

段寄存器支持: x86/x86_64是一個分段的內存架構,但是GCC很大程度上忽略了Intel架構這方面的特性,而是依靠隱含的段寄存器。底層代碼比如linux內 核或者glibc通常必須意識到分段體系結構,傳統上采用匯編語句進行顯式的段寄存器操作。從GCC 6起,變量在聲明時就可以指定到特殊的段,使用這些內存中變量時顯式的段寄存器就會被操作。

增強位置和其他診斷工作:GCC 6的診斷機制引入了“增強位置”特性。這個特性允許CC跟蹤一定范圍的診斷信息,而不僅僅是單個點。舉個例子,一個復雜表達式中的有疑問的子表達式可以被 識別出來并向開發人員強調。診斷現在也包括“修復”性提示,建議開發者如何修改錯誤的代碼。這個特性將會在David Malcolm的另一篇博客中詳細介紹。

目標克隆:GCC6 增加了一個新的“目標克隆”屬性,用于指明特定函數需為不同的ISA變量進行多次編譯,并創建程序分發器來檢測這些正在使用中的ISA并調用適合的克隆。這使得對ISA的不同版本提供”特殊運行”程序支持更為容易。

擴展存數規則:GCC6 新增一個新的pragma“scalar_storage_order”,用于指定在一個結構內字段的字節順序。如果目標的字節順序不同于正在被訪問的對象的字節順序,GCC6會自動生成代碼來按需byte交換這些對象。

卸載/HSA:GCC5 最初已經支持通過OpenMP來卸載到MIC,通過OpenACC卸載到Nvidia GPUS. GCC6改進了這些性能并新增了通過HSA加速器來卸載。

語言和運行時

GCC 6 現在的默認值是 C++ 14.  GCC 6 現在包括 C++ Concepts.

C++運行時庫現在支持特殊的數學函數 (ISO/IEC 29124:2010)

支持 C++17 的實驗功能

std::uncaught_exceptions

unique_key maps 的 try_emplace 和 insert_or_assign

用于訪問容器和數組的非成員函數 std::size, std::empty 和 std::data

std::invoke

std::shared_mutex

std::void_t 和 std::bool_constant

實驗性的支持文件系統技術規范

實驗支持大多數圖書館基本技術規范,包括 shared_ptr 多態性內存資源和陣列支持第二個版本

矩陣相乘的 intrinsic 現在內聯在 Fortran 前端簡單的情況。

當然,你可以找到和嘗試更多的優化和修正。我甚至不會試圖枚舉所有發生在這個空間。這與以前的發布一樣,只要我們可以,我們將盡可能的提高所產生的代碼和修復更多報告的錯誤。

責任編輯:王雪燕 來源: oschina
相關推薦

2024-02-19 10:15:37

JavaScript正則表達式ECMAScript

2023-01-09 14:36:51

BudgieLinux

2023-11-26 18:00:00

Svelte 5層級重寫

2013-09-13 10:25:47

4G通信

2022-06-27 23:21:30

元宇宙購物體驗AR/VR

2010-09-03 08:47:51

2011-01-06 11:31:15

部署IPv6IPv6

2022-05-26 16:35:45

6G無線通信移動通信

2021-08-02 23:12:04

iOS蘋果系統

2013-09-09 13:48:53

SDN

2012-03-02 11:35:12

微軟Windows 8

2020-11-25 08:15:20

數字貨幣區塊鏈比特幣

2014-02-19 09:14:44

光纖通道第6代

2017-08-11 12:54:23

工業4.0互聯網信息化

2012-04-17 09:42:24

Ubuntu 12.0新特性

2011-11-03 10:35:52

2021-02-21 09:22:00

區塊鏈行業發展物聯網

2012-02-21 22:31:09

Windows 8

2016-12-23 21:15:03

大數據思維模式變化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品视频一 | 农村真人裸体丰满少妇毛片 | av网站在线播放 | 免费观看一级黄色录像 | 超碰97人人人人人蜜桃 | 日韩在线一区二区三区 | 91av在线看| 欧美精品在线一区 | 精品一区二区三区四区 | 日本免费视频在线观看 | 日韩在线一区二区三区 | 99久久久久久久 | 日韩欧美久久精品 | 亚洲三区在线 | 免费成人午夜 | 久久中文字幕一区 | 成人在线国产 | 亚洲国产精品视频一区 | 亚洲一区二区三区久久久 | 中文字幕亚洲区一区二 | 欧美大片久久久 | 国产日韩欧美在线观看 | 亚洲国产成人精品女人久久久 | 九九色综合 | 欧美日韩视频在线 | 欧美天堂在线观看 | 国产精品美女在线观看 | 黄视频国产 | 久久久久久久久蜜桃 | 精品福利在线 | 精品国产18久久久久久二百 | 成人午夜网站 | 日本高清视频在线播放 | 成人水多啪啪片 | 色综合一区二区 | 又爽又黄axxx片免费观看 | 91在线一区 | 久久久久国产精品午夜一区 | 日韩欧美视频在线 | 九九久久这里只有精品 | 亚洲国产伊人 |