问题标签 [dmd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2826 浏览

arrays - D 编程语言 char 数组

这听起来可能很愚蠢。但我对 D 编程语言有一个奇怪的问题。当我尝试像这样创建一个新数组时:

DMD 编译器总是给我这个错误:

test.d(5):错误:无法将不变量(char[5u])类型的表达式(“值”)隐式转换为 char[]

知道为什么吗?我正在为 Ubuntu 使用 2.014 alpha(可在此处获得)。

0 投票
1 回答
1977 浏览

64-bit - 在 64 位 Linux 上使用 DMD 编译或使用 32 位目标文件链接

在 64 位机器上用 DMD 编译程序的最佳方法是什么?它不需要编译为 64 位代码。我知道 GDC,但也想与 D2 合作。还有 chroot,但我希望有一个更简单的方法。

实际问题不在于编译,而在于链接。DMD 调用 GCC 以执行与系统库的链接。我可以让 DMD 拥有针对 32 位库的 GCC 链接吗?或者我将如何手动完成?

我已经安装了 ia32 库,这就是我可以运行 DMD 的原因。

0 投票
2 回答
795 浏览

d - 基于D中的关联数组排序

我正在尝试遵循 D 应用程序在各个地方给出的示例。通常在学习一门语言时,我会从示例应用程序开始并自己更改它们,纯粹是为了测试东西。

一个引起我注意的应用程序是计算传入的文本块中单词的频率。由于字典是在关联数组中构建的(元素存储频率,键是单词本身),输出没有任何特定的顺序。因此,我尝试根据网站上给出的示例对数组进行排序。

无论如何,该示例显示了一个 lambda 'sort!(...)(array);' 但是当我尝试代码时 dmd 不会编译它。

这是归结的代码:

当我尝试编译此代码时,我得到以下信息

谁能告诉我我需要在这里做什么?

我使用 DMD v2.031,我尝试安装 gdc 但这似乎只支持 v1 语言规范。我才开始看dil,所以我不能评论它是否支持上面的代码。

0 投票
1 回答
218 浏览

linux - 在linux下运行dmd-tango的问题

有人知道如何在 linux 下运行 dmd 吗?我下载了 tango linux 二进制文件并将其解压缩到一个特殊文件夹中。我调用“export PATH ...”但是当我尝试运行 dmd 时,我得到的只是

bash: /home/user/dmd/bin/dmd: 没有这样的文件或目录

抱歉,我是 linux 新手,刚刚安装了 ubuntu 9.04 64 位。

谢谢。

0 投票
4 回答
490 浏览

osx-snow-leopard - 雪豹上的 DMD 2

有没有人在 Snow Leopard 上尝试过 Digitalmars D 编译器(第 2 版)?我想升级,但我宁愿有一个工作的 D 编译器。

0 投票
3 回答
795 浏览

macos - 针对 OSX 的 ERM、DMD 和 ORM 图创建应用程序的建议

我需要为我正在从事的几个项目制作几个 ERM、DMD 和 ORM 图。显然,我希望他们尽可能时尚和专业,虽然简单的谷歌搜索提供了过多的选择,但它们都是按使用付费的。

是否有任何适用于 Mac OSX 的免费(或开源)图表创建器可以生成“足够性感”的图表,这些图表适合且足够专业,可用于客户端可访问的规范文档?

0 投票
1 回答
223 浏览

d - 关联数组 .remove[] 在 dmd 2.0 中调用 core.stdc.stdio.remove

我在 D 中有以下代码

每当我尝试使用 dmd2.0 进行编译时,都会出现以下错误

当前的 D2.0 文档建议将 array.remove[key] 用于我正在尝试做的事情,但看起来编译器认为我正在尝试调用 std.c(stdc?) 函数。为什么会发生这种情况?这只是dmd2.0中的一个错误吗?

0 投票
1 回答
1610 浏览

d - D 编程语言中的文件 I/O

我正在尝试遵循一个简单的教程,但无法使以下代码正常工作:

我在 Windows 上使用 dmd 编译器。

0 投票
3 回答
1381 浏览

compiler-construction - 数字火星 D 编译器;获取 ASM 输出

我正在阅读 Andrei Alexandrescu 关于 D 编程语言的书。他是一位出色的作家,在解释 D 语言的各个方面方面做得非常好。然而,当我无法想象 ASM 输出或某些关键字的后果(例如 in、out 等或其他结构)时,我发现某些结构难以理解。尽管我的 ASM 非常糟糕而且我从不使用它,但它对我能够理解某些关键字对计算机的影响以及正在完成的工作有很大帮助。

DMD 编译器有许多有趣的功能(代码覆盖、生成接口(头文件)、生成文档、分析,...),但我还没有看到输出 ASM 代码的开关。编译器确实生成 .obj 文件,并通过阅读以下链接:http ://www.digitalmars.com/ctg/obj2asm.html我怀疑我需要一个工具来手动转换目标文件。我更喜欢编译器开关,有吗?

在该页面的底部,我链接到一个页面,我可以在其中支付提及包含该工具的产品的费用。来自 GNU 背景的我对此非常不满。这仅适用于 C/C++,还是也适用于 D 编译器?

有没有其他方法可以将这些 .obj 文件转换为可读的 ASM 代码,或者我必须求助于其他 D 编译器(例如 GDC 或 LDC)来获取 ASM 输出?我不喜欢。DMD 是由创始人自己创建的,我相信他正确地实现了大多数功能/很大程度上优化了。

那么,如何查看 ASM 代码呢?

谢谢你。

0 投票
2 回答
3372 浏览

d - D 编程语言:模块 stdio 无法读取文件 std\stdio.d

我使用 windows 安装程序安装了 dmd (2.0 ?) 并尝试编译以下程序:

但我收到以下编译器错误:

为了让标准库工作,我必须指定一些路径吗?