116

Google 开源 C++ 公共库 Abseil

 6 years ago
source link: http://mp.weixin.qq.com/s/opsPoQ-6lnI-jBptv_PpVQ
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Google 开源 C++ 公共库 Abseil

开发资讯 开发资讯 2017-09-30 04:27

很多 Google 的工程师经常开玩笑,说离开 Google 就不会写 C++ 了。因为内部有很多好用的扩充库。近日,Google 宣布开源 Abseil,这是从 Google 代码库中抽取出的一组公共库。这是 Google 内部最基本的构建块,经过了充分的测试和优化,像 gRPC、Protobuf 和 TensorFlow 等很多项目都有应用。

这些库是对 C++ 标准库的扩充。有些是弥补标准库缺失的功能,有些是根据内部特殊需求,提供了替代方案。

Abseil 目前遵循 C++11,计划到 2019 年,以 C++14 为基础语言版本。

目前代码已经放在 GitHub 上:https://github.com/abseil/abseil-cpp,基于 Apache 许可证开源。
我们也可以通过其目录大概猜测一下功能。

0?wx_fmt=png

Abseil 有如下亮点:

  • 零配置:支持大部分平台(操作系统、编译器和架构)。

  • 提前采用了几个 C++17 的类型:string_viewoptionalany 。不久将支持variant

  • 主要的同步类型 absl::Mutex,接口优雅,而且做了大量优化。

  • 高效支持时间处理,提供了概念上与 std::chrono 类似的 absl::Time 和   absl::Duration 类型。但他们是具体类型,没有使用模板,在所有情况下的行为是固定的。此外,与常用的标准库相比,时钟采样 API absl::Now() 也做了大量优化。

  • 字符串处理程序,包括 absl::StrCat()absl::StrJoin()absl::StrSplit() 的等。

更多信息,可以访问 Abseil 官网: https://abseil.io。


10 月 17~19 日的 QCon 全球软件开发大会(上海站),C++ 之父 Bjarne Stroustrup 博士将莅临现场,分享《未来的编程和 C++ 的作用》及《Using Modern C++ —— Stepping Up to C++14/17》。

此外,还将有 Google、Facebook、Twitter、Uber、Airbnb、Pinterest、LinkedIn 等公司的专家带来分享。感兴趣的可以点击阅读原文了解更多信息。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK