D 语言/DLang 2.096.0 发布,增强跨平台能力!

来源: 投稿
作者: 冰力
2021-03-22

DMD 2.096.0 正式发布更新,DMD 是 D语言官方推出的编译器,此版本包含了 17 项主要变更,同时修复 81 个已知bug。相信过几天 LDC 也会跟进到本次大更新!这个版本有 54 个开发者进行参与,非常感谢他们为 DLang 的发展做出的贡献。

编译器变更

  • x86_64 Posix 平台下的 D ABI 有所更改
  • 新增类型:__c_complex_float__c_complex_double__c_complex_real
  • 不再支持构造函数复制和块复制(postblit)
  • DMDJSON 输出现在会包含保护级成员
  • DMDJSON 输出现在会区分处理模块的构造方法和析构方法(包含有无shared的情形)
  • 局部模板不再支持接收通过别名(alias)传入的局部符号
  • 增强了 C++ 头文件的生成功能
  • 新增编译器开关:-gdwarf=<version>
  • 新增 __traits(getVisibility, Sym) 来替代 getProtection
  • 无参的 synchronized 语句现在会使用运行时分配的互斥量
  • 允许使用更短形式的函数实现(单一表达式函数)

运行时变更

  • 移除了 druntime 里的参数选项 callStructDtorsDuringGC
  • mount 模块里,移除了与 FreeBSD 相关的 statvfs 声明
  • 新增体验功能:基于 backtrace 输出的 llvm-libunwind

库变更

  • 弃用 std.math 模块里的 approxEqual 方法

Dub变更

  • 支持更多 DMD 的连接器参数
  • VisualD 的工程里允许使用 copyFiles

更多参考

展开阅读全文
2 收藏
分享
加载中
12 评论
2 收藏
分享
返回顶部
顶部