D 语言 2.088.0 发布,改进了与 C++ 的互操作性

2019-10-16 04:33发布

D语言

D语言,一种通用计算机程序语言,威力强大、功能丰富,支持多种编程范式,例如面向对象。

D语言最初由Digital Mars公司就职的Walter Bright于2001年发布,意图改进C++语言。目前最新D语言被简称为D2。最主要的D语言的实现是DMD。

D 语言源自C/C++,借鉴了众多编程语言的特色和现代编译器技术,融会贯通了设计者丰富的实践经验,使之具备了非凡的威力--既有 C/C++ 语言的强大威力,又有 Python 和 Ruby 的开发效率。它集众多系统级编程所需的功能于一身,例如垃圾回收、手工内存操作、契约式设计、高级模板技术、内嵌汇编、内置单元测试、Mixin 风格多继承、类 Java 包管理机制、内置同步机制、内建基本运行时信息

D 语言 V 2.088.0 更新内容

D 语言 2.088.0 发布了,此版本共修复了 58 个 bug,并对编译器引入了 27 项主要更改。

这是一个工作日版本,并没有什么更新亮点,大部分都是日常维护,不过其中 C++ 互操作方面还是值得一说。

此版本分别在 DRuntime 模块 core.stdcpp.string 和 core.stdcpp.vector 中绑定了 std::string 和 std::vector,使得与 C++ 的互操作性得到了很大的改进。其中存在一个兼容问题,需要注意。在 Linux 上编译时,当 D 使用 GCC 库和链接器,在使用符合 C++ 11 的现代版本的 std::string 时会出现兼容性问题。它包含一个内部指针,在 D 中既非法又与移动语义不兼容。解决方法是将 -D_GLIBCXX_USE_CXX11_ABI = 0 传递给 G++ 并使用 -version = _GLIBCXX_USE_CXX98_ABI 编译 D 应用。

更多更优质的资讯,请关注我,你的支持会鼓励我不断分享更多更好的优质文章。

文章来源: https://www.toutiao.com/group/6733720461651214855/