问题标签 [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.
module - D 开发过程
对于使用从 github 克隆并单独构建的包的 D 程序,推荐的开发过程是什么?
通常与如何使用 make、autotools、cmake 等构建 C/C++ 项目有关。
大多数其他构建规范都有一个安装目标。构建中是否应该有一个安装目标,或者我们应该直接从构建时放置它的位置链接一个库并添加注册它的包含,D_INCLUDE_PATH
然后使用直接指向它们DFLAGS=-I<D_INCLUDE_PATH>
?
generics - 字符串(数组)上回文算法的模板冲突
在看过Andrei Alexandrescu 的 D 的三个不太可能成功的优秀特征之后,我测试了那里给出的回文算法,如下所示
数组版本在字符串上运行良好,但是当我将范围版本添加到同一个编译单元 DMD(2.062)时抱怨:
我的猜测是限制使用范围不包括数组大小写。我怎么做?
我还测试了删除数组版本,但随后出现错误
我似乎范围版本不适用于我觉得奇怪的数组。
该怎么办?
macos - 分离编译和链接 - 在 D 中
好的,我目前正在和 D 一起玩(第一次),所以据说我会有一些超基本的问题......我在这里...... :-)
当我用它编译链接时,dmd
它编译得很好:
设置-v
(verbose) 标志时,我注意到该过程基本上是一个编译步骤(带有-c
标志)和链接(带有gcc
)像往常一样。
但是,当我尝试按以下方式编译时,我不断收到错误:
这是怎么回事?有任何想法吗?
d - 从 DMD 查看带有行号的程序集
如何查看源代码中特定行的汇编代码?
我尝试使用 DMD 和-g
and -gc
(在 Windows 上)编译我的源代码并用于objconv
输出 and 的程序集.obj
,.exe
但似乎没有关于行号等的任何提示。但是当我使用Code::Blocks
并设置断点时,它显示了一些像这样组装
所以一定有一些关于某处线路的信息......
d - 检测 D 中纯函数的非变异调用语句
我相信 D 有可能在其编译器套件中添加另一个很酷的功能,即禁止对纯函数进行非副作用调用的能力。
例如
应该像错误一样
目前 DMD 中的错误为
这样的功能可以防止程序员在期望它具有就地(变异)语义时意外调用非静音算法。这无需使用 GCC 的属性等显式标记__attribute((warn_unused_result))
函数__attribute((const))
。
DMD 的待办事项列表中有这样的功能吗?
linker - Linux 中 dmd 和 Derelict 的链接器问题:Ld 找不到 .a 文件
我正在尝试使用 Derelict2 绑定在 D 中编写一个测试程序。这是我的代码:
所有 derelict 的 .di 文件都在 dmd 的默认导入目录中,所以我的印象是以下命令应该编译并链接我的程序。
但是,我收到此错误:
我到底做错了什么?
有点离题,但也令人担忧:
-ldl 标志有什么作用?我知道它是成功链接所必需的,但我不确定如何,而且它不在 ld 手册中。
multithreading - D 如何标记所有内容__gshared?
有没有办法__gshared
用 DMD 标记所有对象?我正在开发一个游戏引擎,其中几乎所有内容都需要在线程之间共享,并且垃圾邮件__gshared
或shared
无处不在并不能减少它。
对于希望我不这样做的每个人:关键部分将是最小的,并减少到检查枚举是否设置为已加载(当然是互斥的)。所以并发不会给我带来任何好处。
d - 哪些 D 编译器会对此函数执行尾调用优化?
据我所知,这段代码应该进行尾调用优化,但我不知道 DMD 是否正在这样做。哪些 D 编译器支持尾调用优化,它们会在这个函数上执行它吗?
templates - D 类型推断取决于模板参数的顺序
当模板参数maybe
与别名一起排列时,编译器能够正确推断参数类型。但是,当模板参数切换为 T 先出现时,它无法推断它们,也不会编译。为什么是这样?
arduino - 使用 Arduino GSM/GPRS shield 将数据从我的网络服务发送到 arduino 并在点阵显示器上显示
我想问如何通过我使用 GPRS shield v2.0 和 Arduino Uno R3 创建的 Web 服务来控制点阵显示器 (DMD),,,
示例:我填写了一个域的信息(mydomain.com/set?string = hello word),将出现在 DMD 中
如果来自推特的数据也有可能吗?所以它可以从两个来源接收数据,有来自 mydomain.com 和 twitter.com
我有:
- 我从seeedstudio.com购买的GPRS shield v2.0
- 使用 Arduino Uno R3
- 我从 freetronics 购买的 DMD 16X32