问题标签 [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.
c++ - D在现场的使用
我试图找到一些关于 D 的信息。我特别喜欢这种与 C++ 的比较,以了解它是什么。现在我问自己:D 在该领域中的使用频率如何,它在多大程度上是 C++ 的可行替代方案?
arrays - 使用 D 检查数组内的元素是否存在?
我们有一个char
和一个char[]
。
找出 是否char
位于内部的最有效(或者,如果失败,只是最简单)的方法是char[]
什么?
使用的语言是 D。
谢谢!
keyboard - D 1.0 (Tango) 移动鼠标;模拟键盘按键等
嘿,我正在使用D 1.041 和 Tango 0.99.8,我想知道如何移动鼠标并模拟键盘按下并从屏幕获取信息,例如特定坐标上特定像素的颜色。我正在使用 Windows。
任何帮助将不胜感激。我想编写一个功能类似于 AutoIt 的基于类的库。例如:
这段代码给了我以下错误:
错误 42:符号未定义 _mouse_event@16 --- 错误级别 1
有什么帮助吗?我仍在使用版本。
api - 适用于 Linux (X11) 的 Windows API 函数等效项(SetCursorPos、GetCursorPos、mouse_event、keybd_event ...)?
我想知道 Linux (X11) 是否有上述功能的等价物——我似乎找不到它们。
linux - 如何让 gdb 在 linux 下与 D 程序一起工作?
我有一个修补过的gdb
6.8,但我无法进行任何调试。鉴于此测试文件:
并尝试在命令行上调试:
并使用 Eclipse 调试项目
使用-gc
:
使用-g
:
我在 Digital Mars 新闻组上看到过不少这样的帖子,但似乎都被忽略了。任何人都可以说明情况吗?
我知道 ZeroBUGS,但我真的很想开始gdb
工作。
更新:
感谢 luca_,在 IRC(freenode,#D)上,我得到了一个简单的案例(一个文件):
不幸的是,我的由多个文件组成的项目因 DWARF 错误而死掉。
编辑:
从 2.036 开始(我认为),DMD 生成的 GDB 调试信息是正确的,应该可以按预期工作。
multithreading - x86 上的字撕裂
在什么情况下让两个不同的线程同时写入 x86 上同一数组的相邻元素是不安全的?我知道在某些具有疯狂内存模型的类似 DS9K 的架构上,这可能会导致字撕裂,但在 x86 上,单个字节是可寻址的。例如,在 D 编程语言real
中是 x86 上的 80 位浮点类型。执行以下操作是否安全:
注意:我知道,即使这是安全的,它有时也会导致缓存的错误共享问题,从而导致性能下降。但是,对于我想到的用例,写入将很少见,以至于这在实践中并不重要。
编辑:不要担心读回写入的值。假设是在读取任何值之前会有同步。我只关心这样写的安全性。
templates - 一些D模板题
我最近一直在玩 D 语言,我有一个关于模板的快速问题。
我将字符和字符串插入到代码中的现有字符串中,并提出了这个函数:
现在,我有几个问题。
我可以限制 s2 参数允许的类型(我只想要 char、wchar、dchar 等及其各自的数组值)吗?
如果位置 arg 为 0,是否有某种方法可以定义模板以自动知道要添加?像这样的东西(不编译,但给出了一般的想法):
/li>
谢谢
c - 如何使用 D 中的 C 库?
今天我听说了 D 编程并且它与 C 代码兼容。尽管如此,我还没有找到任何关于是否可以使用 D 中的 GTK 或 PortAudio 等 C 库的信息?如果可能的话,你能解释一下如何做到这一点吗?
performance - 在 D 语言中比较两个内存块的最有效方法是什么?
我需要一个内存块的比较函数,以便在 D 编程语言中对字节数组进行二进制搜索。它不需要任何有用的语义。它只需要快速并且是有效的比较函数(产生总排序的函数)。已知要比较的内存块具有相同的长度。
Cmemcmp
实际上很慢,因为它试图保留有用的字符串比较语义,而我不需要。以下是迄今为止我想出的最好的。有没有人知道更好的东西,最好不要浸入非便携式 CPU 特定指令?
编辑:我已经阅读了 SSE,我不想使用它有 3 个原因:
- 它不是便携式的。
- 它需要在 ASM 中编程。
- 比较说明假定您的数据是浮点数,如果某些数据恰好与 NaN 的模式匹配,这可能会出现问题。
static - 除了 D 之外还有其他语言吗?
我认为 Dstatic if
是一个有趣的语言特性。这引发了我的问题:是否还有其他编译语言的示例,其中编译器对代码有很强的概念并且有语言工具可以访问它们?
例如,此代码提供了与repr
Python 类似的内容:
我认为这很酷,因为它允许对重载所做的工作采用不同且更通用的方法,与此类功能相比,这是一种使代码更具动态性的由内而外的方式。例如,编译器知道我的类有多少个字段,但在大多数语言中,我的代码无法在编译时访问这些信息。
CAVEAT:最后一段有意见,但我只是想为我的问题提供一些动力和澄清,而不是引起争议。我只是想知道是否有任何其他编译语言具有此类功能。