4

我用 D 语言编写了一个计算斐波那契数的小程序。它应该是最有效的,因为我这样做是为了将 D 的执行速度与其他语言的执行速度进行比较。然后我在 dlang.org(这里: http ://dlang.org/attribute#nogc)上阅读了@nogc 属性,并尝试像这样使用它:

@nogc
@safe
uint fibonacci(uint index)
{
    if(index < 2)
        return index;

    return fibonacci(index - 2) + fibonacci(index - 1);
}

我尝试使用 DMD 2.065 和 GDC 4.8.2 但都告诉我:Error: undefined identifier nogc

难道我做错了什么 ?@nogc 现在还没有实施吗?

4

2 回答 2

7

@nogc是一个新属性,首先在 DMD 2.066 中实现。

于 2014-07-24T16:30:43.443 回答
0

第一个支持全新@nogc功能的编译器是DMD v2.066。稳定版尚未发布,目前仅发布了几个测试版(2014 年 7 月末)。一旦 DMD 2.066 发布,我们可以正确地说 D 支持它。在此之前,我们只能说它是一个实验性的 D 功能。

于 2014-07-27T12:45:00.400 回答