问题标签 [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.
operator-overloading - D 中优雅的运算符重载
有一段时间我对 D 的运算符重载方向感到困惑,但现在我意识到它是一个漂亮的系统……如果它只适用于核心类型(int、float 等)。考虑以下代码:
如果它有效,这将是一个漂亮的代码,因为它在一种方法中重载了所有 +=、-=、*= 等运算符。但是,如您所见,它不是开箱即用的。我使用模板创建了一个解决方案(上帝我爱 D):
这很好,只是我更喜欢把所有东西都“放在家里”。有没有办法在没有模板的帮助下完成这项工作?我知道我在这里很挑剔,因为没有性能损失,而且在我需要这样做的情况下导入模块并不难。我只是想知道它是否是内置的,我忽略了一些东西。
d - dfl_debug.lib 未找到
我正在尝试使用 DFL / Tango 库使用 D 中的 Forms 编译我的第一个应用程序,但编译器第一次尝试说:DFL lib files not found
.
然后我尝试编译库,并得到以下错误:
我正在使用DMD compiler
, 版本v2.055
。
我该如何解决?
d - dmd 链接器 (OPTLINK) 给出错误 42: Symbol Undefined when using extern
链接以下两个文件会给我一个链接错误:
广告:
乙:
我得到的错误是:
怎么了 ?
__ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ _
编辑:这是正确的方法:
广告:
乙:
该代码由Joshua Reusch在digitalmars.com 网站上为初学者提供的优秀 D 论坛中提供。
winapi - 有没有办法创建一个优雅的类成员窗口函数?
Win32 API 中的 Window-Procedure 必须是静态 \ 全局函数,因为它不能采用类对象 (the this
) 参数。当然可以使用 hWnd->object 字典等变通方法。
我想知道D是否有办法优雅地解决它,例如为每个对象创建一个微小的成员函数副本(以调用对象的真实处理程序)或我可以分配给WNDCLASS.lpfnWndProc
的匿名函数(我知道有匿名函数,但我不能使用他们的extern(Windows)
财产)?
我可以做这样的事情:
(省略注册\创建\味精循环...)
Events() 似乎没有触发......我错过了什么吗?
operator-overloading - D opBinary()() 重载错误?
当我尝试在一个简单的 Vector 结构上重载 opBinary 时,我得到一个奇怪且毫无意义的错误:
我得到的错误很简单:“opBinary(string op)”。没有行号,什么都没有。这显然并没有给我太多的继续。有没有另一种方法来处理这种情况?这是一个已知的错误?
我在 Windows 7 上使用 DMD 2.057。尚未在 Linux 上进行测试。
[编辑] 清理代码以提高可读性。
monodevelop - Mono-D DMD 编译器问题
借助代码完成和简单重构等功能,在 Mono-D 中编写 D 几乎与在 Visual Studios 中编写 C# 一样高效。一切都在 Linux 上运行良好,只需安装 Mono Develop,添加 Mono-D 存储库,然后构建;但在 Windows 上,我什至无法编译 Hello World。
起初 DMD 似乎找不到 Phobos,但按照入门页面上的说明操作后,我在Object.di文件中收到 21 个错误。诸如"found 'char' when expecting ')'"和"no identifier for declarator immutable" 之类的错误。
我在 Windows 7 64 位上使用 Mono Develop 2.8.5。
任何人都知道我如何才能让这个工作?
benchmarking - D performance: union vs @property
I'm in the process of porting, enhancing, and D-atizing our reign SDK from C# to D. Currently working on the Vector2 math module.
Will there be any performance difference between the two structs below? My benchmarks show identical performance, but I'd like to gain a bit of expert insight :)
Obviously I'd like to use the unions for syntactical simplicity. But is there any unforeseen pitfalls with using them? I'm unfamiliar with their low-level details.
On a side note, I'm adding in vector property syntax similar to HLSL/GLSL, e.g., vec1.yxz += vec2.xyz; There's... no.. possible way to do that with unions instead of @property is there?
windows-7 - 如何在Win7和dmd(D2)中使用gtkD?
我下载gtkD-1.5.1
并解压到某个gtkD
目录。我下一步该怎么做?我不明白我是否必须编译并将其链接到某个库,或者只是在我的代码中链接到它?
编辑:(@dsimcha)
dsss build
gtkD 主目录中的命令给了我这个:
但没有创建库?
d - mixin 报错
示例位于:http ://www.d-programming-language.org/mixin.html ,如下所示:
“生成:”(根据网站):
给我一个错误:
Error: template instance GenStruct!("Foo","bar") GenStruct!("Foo","bar") does not match template declaration GenStruct(char[] Name,char[] M1)
是我的还是他们的虫子?
benchmarking - D 隐式转换 Vector(T) 类型
比较代码片段 A:
与 B:
在我的基准测试(DMD、Win7)中,A 比 B 快约 50 毫秒。这是为什么?如果 A 更快,我想使用它,但无论我尝试什么,我都无法让 Vector2!double 隐式转换为 Vector2!float。关于如何隐式转换这些类型的任何想法?或者是否有一些论点为什么我不应该隐含地投射它们?
我正在设置 GDC 和 LDC 以使用这些编译器执行此基准测试,但是如果这只是 DMD 优化问题,有人知道吗?