精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當前位置:云計算企業動態 → 正文

Google開源了Abseil,為C++和Python開發提供支持

責任編輯:editor004 作者:Abel Avram |來源:企業網D1Net  2017-10-09 11:06:01 本文摘自:INFOQ

Google公開了其項目內部使用的一系列C++庫,隨后還會公開其Python庫。

Abseil已在Google歷經十多年的開發,它的目的是為Google編程人員在各種項目上的工作需求提供支持,這些項目包括Protocol Buffers、gRPC和TensorFlow等。Google評價Abseil為:

它是從Google內部代碼塊中抽取出來的一系列最基礎的軟件庫。作為基本的組成部分,這些軟件庫支撐了幾乎全部Google在運行的項目。以前這些API是零零散散地嵌入在Google的大部分開源項目中,現在我們將它們規整在一起,形成這樣一個全面的項目。

Abseil是Google代碼庫的最基本構建模塊,其代碼經過了生產環節測試,此后還會繼續得到完全的維護。

最初,Abseil提供的抽象并非C++ 14或C++ 17的組成部分,但最終它們已被添加到C++標準中。例如,Google提供一個稱為StringPiece的類型,隨后C++ 17也添加了一個稱為std::string_view的相近類型。為了與新的C++ 17類型具有一致的API,Google將StringPiece重構為absl::string_view。從底層機制上看,如果開發人員正在使用的是C++ 17,那么Abseil的string_view默認為標準實現;如果開發人員正在使用的是C++ 17以前的版本,那么string_view默認為Google的實現。

使用Abseil的優點在于可以訪問一些目前依然尚未添加到標準中的C++特性,并且一旦這些特性被添加到C++標準中,Google保證會重構這些特性為默認使用標準實現。Google鼓勵開發人員使用Abseil,并提及已有超過兩億五千萬行的C++代碼使用它,并且幾乎所有從頭開始構建的項目都使用了它。這意味著,Abseil已被Google廣為使用,并出于與項目需求同步的考慮而得以頻繁維護。

Abseil中包括如下的庫:

base:初始化,以及其它的基礎代碼。 algorithm:對C++的庫的補充,并為原算法提供了基于容器的版本。 container:提供了更多的STL類型容器。 debugging:用于檢查泄漏的調試庫。 memory:包括兼容C++ 11版本的std::make_unique()和內存管理。 meta:包括兼容C++ 11版本的類型檢查,在C++ 14和C++ 17版本的C++ 庫中可用。 numeric:兼容C++ 11的128位整數。 strings:各種字符串工具。 synchronization:并發原語和同步抽象。 time:抽象了絕對時間點操作和時區操作。 types:非容器工具的類型。

Abseil的代碼采用Apache許可,已發布在GitHub上。其Python版本的軟件庫將隨后發布。

查看英文原文: Google Open Sources Abseil, a Collection of C++ and Python Utilities

關鍵字:GoogleAbseilPython

本文摘自:INFOQ

x Google開源了Abseil,為C++和Python開發提供支持 掃一掃
分享本文到朋友圈
當前位置:云計算企業動態 → 正文

Google開源了Abseil,為C++和Python開發提供支持

責任編輯:editor004 作者:Abel Avram |來源:企業網D1Net  2017-10-09 11:06:01 本文摘自:INFOQ

Google公開了其項目內部使用的一系列C++庫,隨后還會公開其Python庫。

Abseil已在Google歷經十多年的開發,它的目的是為Google編程人員在各種項目上的工作需求提供支持,這些項目包括Protocol Buffers、gRPC和TensorFlow等。Google評價Abseil為:

它是從Google內部代碼塊中抽取出來的一系列最基礎的軟件庫。作為基本的組成部分,這些軟件庫支撐了幾乎全部Google在運行的項目。以前這些API是零零散散地嵌入在Google的大部分開源項目中,現在我們將它們規整在一起,形成這樣一個全面的項目。

Abseil是Google代碼庫的最基本構建模塊,其代碼經過了生產環節測試,此后還會繼續得到完全的維護。

最初,Abseil提供的抽象并非C++ 14或C++ 17的組成部分,但最終它們已被添加到C++標準中。例如,Google提供一個稱為StringPiece的類型,隨后C++ 17也添加了一個稱為std::string_view的相近類型。為了與新的C++ 17類型具有一致的API,Google將StringPiece重構為absl::string_view。從底層機制上看,如果開發人員正在使用的是C++ 17,那么Abseil的string_view默認為標準實現;如果開發人員正在使用的是C++ 17以前的版本,那么string_view默認為Google的實現。

使用Abseil的優點在于可以訪問一些目前依然尚未添加到標準中的C++特性,并且一旦這些特性被添加到C++標準中,Google保證會重構這些特性為默認使用標準實現。Google鼓勵開發人員使用Abseil,并提及已有超過兩億五千萬行的C++代碼使用它,并且幾乎所有從頭開始構建的項目都使用了它。這意味著,Abseil已被Google廣為使用,并出于與項目需求同步的考慮而得以頻繁維護。

Abseil中包括如下的庫:

base:初始化,以及其它的基礎代碼。 algorithm:對C++的庫的補充,并為原算法提供了基于容器的版本。 container:提供了更多的STL類型容器。 debugging:用于檢查泄漏的調試庫。 memory:包括兼容C++ 11版本的std::make_unique()和內存管理。 meta:包括兼容C++ 11版本的類型檢查,在C++ 14和C++ 17版本的C++ 庫中可用。 numeric:兼容C++ 11的128位整數。 strings:各種字符串工具。 synchronization:并發原語和同步抽象。 time:抽象了絕對時間點操作和時區操作。 types:非容器工具的類型。

Abseil的代碼采用Apache許可,已發布在GitHub上。其Python版本的軟件庫將隨后發布。

查看英文原文: Google Open Sources Abseil, a Collection of C++ and Python Utilities

關鍵字:GoogleAbseilPython

本文摘自:INFOQ

電子周刊
回到頂部

關于我們聯系我們版權聲明隱私條款廣告服務友情鏈接投稿中心招賢納士

企業網版權所有 ©2010-2024 京ICP備09108050號-6 京公網安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 和硕县| 嵊泗县| 翁源县| 岳西县| 大兴区| 建始县| 赤水市| 合阳县| 清苑县| 卓资县| 南安市| 嘉荫县| 东乡| 洛浦县| 泸西县| 吉安市| 阳城县| 平顶山市| 上饶市| 长武县| 邢台市| 诸城市| 栾川县| 洛宁县| 陆良县| 延安市| 岳普湖县| 古交市| 都兰县| 贵港市| 商河县| 沿河| 儋州市| 清水河县| 屯门区| 嘉定区| 桐乡市| 安福县| 炉霍县| 买车| 景洪市|