问题标签 [d]

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 回答
915 浏览

c++ - D在现场的使用

我试图找到一些关于 D 的信息。我特别喜欢这种与 C++ 的比较,以了解它是什么。现在我问自己:D 在该领域中的使用频率如何,它在多大程度上是 C++ 的可行替代方案?

0 投票
1 回答
104 浏览

arrays - 使用 D 检查数组内的元素是否存在?

我们有一个char和一个char[]

找出 是否char位于内部的最有效(或者,如果失败,只是最简单)的方法是char[]什么?

使用的语言是 D。

谢谢!

0 投票
1 回答
247 浏览

keyboard - D 1.0 (Tango) 移动鼠标;模拟键盘按键等

嘿,我正在使用D 1.041 和 Tango 0.99.8,我想知道如何移动鼠标并模拟键盘按下并从屏幕获取信息,例如特定坐标上特定像素的颜色。我正在使用 Windows。

任何帮助将不胜感激。我想编写一个功能类似于 AutoIt 的基于类的库。例如:

这段代码给了我以下错误:

错误 42:符号未定义 _mouse_event@16 --- 错误级别 1

有什么帮助吗?我仍在使用版本

0 投票
2 回答
2503 浏览

api - 适用于 Linux (X11) 的 Windows API 函数等效项(SetCursorPos、GetCursorPos、mouse_event、keybd_event ...)?

我想知道 Linux (X11) 是否有上述功能的等价物——我似乎找不到它们。

0 投票
2 回答
1531 浏览

linux - 如何让 gdb 在 linux 下与 D 程序一起工作?

我有一个修补过的gdb6.8,但我无法进行任何调试。鉴于此测试文件:

并尝试在命令行上调试:

并使用 Eclipse 调试项目

使用-gc

使用-g

我在 Digital Mars 新闻组上看到过不少这样的帖子,但似乎都被忽略了。任何人都可以说明情况吗?

我知道 ZeroBUGS,但我真的很想开始gdb工作。

更新:

感谢 luca_,在 IRC(freenode,#D)上,我得到了一个简单的案例(一个文件):

不幸的是,我的由多个文件组成的项目因 DWARF 错误而死掉。

编辑:

从 2.036 开始(我认为),DMD 生成的 GDB 调试信息是正确的,应该可以按预期工作。

0 投票
3 回答
3326 浏览

multithreading - x86 上的字撕裂

在什么情况下让两个不同的线程同时写入 x86 上同一数组的相邻元素是不安全的?我知道在某些具有疯狂内存模型的类似 DS9K 的架构上,这可能会导致字撕裂,但在 x86 上,单个字节是可寻址的。例如,在 D 编程语言real中是 x86 上的 80 位浮点类型。执行以下操作是否安全:

注意:我知道,即使这是安全的,它有时也会导致缓存的错误共享问题,从而导致性能下降。但是,对于我想到的用例,写入将很少见,以至于这在实践中并不重要。

编辑:不要担心读回写入的值。假设是在读取任何值之前会有同步。我只关心这样的安全性。

0 投票
3 回答
189 浏览

templates - 一些D模板题

我最近一直在玩 D 语言,我有一个关于模板的快速问题。

我将字符和字符串插入到代码中的现有字符串中,并提出了这个函数:

现在,我有几个问题。

  1. 我可以限制 s2 参数允许的类型(我只想要 char、wchar、dchar 等及其各自的数组值)吗?

  2. 如果位置 arg 为 0,是否有某种方法可以定义模板以自动知道要添加?像这样的东西(不编译,但给出了一般的想法):

    /li>

谢谢

0 投票
5 回答
4730 浏览

c - 如何使用 D 中的 C 库?

今天我听说了 D 编程并且它与 C 代码兼容。尽管如此,我还没有找到任何关于是否可以使用 D 中的 GTK 或 PortAudio 等 C 库的信息?如果可能的话,你能解释一下如何做到这一点吗?

0 投票
6 回答
10443 浏览

performance - 在 D 语言中比较两个内存块的最有效方法是什么?

我需要一个内存块的比较函数,以便在 D 编程语言中对字节数组进行二进制搜索。它不需要任何有用的语义。它只需要快速并且是有效的比较函数(产生总排序的函数)。已知要比较的内存块具有相同的长度。

Cmemcmp实际上很慢,因为它试图保留有用的字符串比较语义,而我不需要。以下是迄今为止我想出的最好的。有没有人知道更好的东西,最好不要浸入非便携式 CPU 特定指令?

编辑:我已经阅读了 SSE,我不想使用它有 3 个原因:

  1. 它不是便携式的。
  2. 它需要在 ASM 中编程。
  3. 比较说明假定您的数据是浮点数,如果某些数据恰好与 NaN 的模式匹配,这可能会出现问题。
0 投票
3 回答
1682 浏览

static - 除了 D 之外还有其他语言吗?

我认为 Dstatic if是一个有趣的语言特性。这引发了我的问题:是否还有其他编译语言的示例,其中编译器对代码有很强的概念并且有语言工具可以访问它们?

例如,此代码提供了与reprPython 类似的内容:

我认为这很酷,因为它允许对重载所做的工作采用不同且更通用的方法,与此类功能相比,这是一种使代码更具动态性的由内而外的方式。例如,编译器知道我的类有多少个字段,但在大多数语言中,我的代码无法在编译时访问这些信息。

CAVEAT:最后一段有意见,但我只是想为我的问题提供一些动力和澄清,而不是引起争议。我只是想知道是否有任何其他编译语言具有此类功能。