DRuntime

D编程语言的低级运行库。「Low level runtime library for the D programming language」

Github星跟踪图

DRuntime: D 编程语言的运行时库

这就是 DRuntime。它是支持 D 编程语言的低级运行时库。

在一个版本中,DRuntime 通常与 Phobos 链接在一起,这样编译器只需要链接到一个库,就可以为用户提供运行时和标准库。

目的

DRuntime 的目的是作为编译器之上的一个抽象层,不同的编译器可能会有自己的 DRuntime 版本。不同的编译器可能会有自己的 DRuntime 版本。虽然实现方式可能不同,但接口应该是相同的。

特性

运行时库提供了以下内容:

  • Object 类,是类层次结构的根。
  • 数组操作的实现。
  • 关联数组的实现。
  • 类型信息和 RTTI。
  • 通用线程和 fiber 基础设施。
  • 同步和协调基元。
  • 异常处理和栈跟踪。
  • 垃圾收集接口和实现。
  • 程序启动和关闭例程。
  • 低层数学内在和支持代码。
  • 标准 C99 函数和类型的接口。
  • 与操作系统 API 的接口。
  • 原子加载/存储和二进制操作。
  • x86 的 CPU 检测/识别。
  • 系统独立的时间/持续时间功能。
  • D ABI 解构助手。
  • 低级位操作/本征。
  • 单元测试、覆盖率和跟踪支持代码。
  • 用于编译器插入调用的低级帮助程序。

问题

要报告错误或查找运行时库的已知问题,请访问 错误跟踪器

许可证

请参阅 LICENSE.txt 文件了解许可信息。

构建

参见 wiki 页面 的构建说明。


主要指标

概览
名称与所有者dlang/druntime
主编程语言D
编程语言D (语言数: 8)
平台BSD, Linux, Mac, Windows
许可证Boost Software License 1.0
所有者活动
创建于2011-01-15 07:01:38
推送于2022-10-12 08:46:11
最后一次提交2022-07-10 01:01:21
发布数268
最新版本名称v2.100.2 (发布于 2022-09-10 11:54:49)
第一版名称dmd-2.022 (发布于 )
用户参与
星数652
关注者数76
派生数417
提交数8.5k
已启用问题?
问题数0
打开的问题数0
拉请求数3237
打开的拉请求数28
关闭的拉请求数613
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

DRuntime: Runtime Library for the D Programming Language

GitHub tag
Bugzilla Issues
CircleCI
Buildkite
Code coverage
license

This is DRuntime. It is the low-level runtime library
backing the D programming language.

DRuntime is typically linked together with Phobos in a
release such that the compiler only has to link to a
single library to provide the user with the runtime and
the standard library.

Purpose

DRuntime is meant to be an abstraction layer above the
compiler. Different compilers will likely have their
own versions of DRuntime. While the implementations
may differ, the interfaces should be the same.

Features

The runtime library provides the following:

  • The Object class, the root of the class hierarchy.
  • Implementations of array operations.
  • The associative array implementation.
  • Type information and RTTI.
  • Common threading and fiber infrastructure.
  • Synchronization and coordination primitives.
  • Exception handling and stack tracing.
  • Garbage collection interface and implementation.
  • Program startup and shutdown routines.
  • Low-level math intrinsics and support code.
  • Interfaces to standard C99 functions and types.
  • Interfaces to operating system APIs.
  • Atomic load/store and binary operations.
  • CPU detection/identification for x86.
  • System-independent time/duration functionality.
  • D ABI demangling helpers.
  • Low-level bit operations/intrinsics.
  • Unit test, coverage, and trace support code.
  • Low-level helpers for compiler-inserted calls.

Issues

To report a bug or look up known issues with the runtime library, please visit
the bug tracker.

Licensing

See the LICENSE.txt file for licensing information.

Building

See the wiki page for build instructions.