问题标签 [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.
d - D语言应用开发
对于那些使用 D 开发应用程序的人,
- 您使用哪些库来构建您的应用程序?
- 那些库有很好的文档记录吗?
- 你用过探戈吗?
- 你觉得 D 已经准备好构建大型应用程序了吗?
- 你用的是哪个IDE?下降可能?
printf - 在 D 中打印浮点数
自从我上次使用D 编程语言以来已经有一段时间了,现在我将它用于一些涉及科学计算的项目。
我有一堆浮点数据,但是当我使用 打印它们时writefln
,我得到的结果如下:4.62593E-172
这是一个零!如何使用字符串格式 % 的东西来打印诸如 0 之类的东西?
现在我正在使用黑客:
它完成了这项工作,但如果可能的话,我想使用格式化操作来完成它。
更新
有人建议writefln("%.3f", a)
但它的问题是它打印了不必要的额外零,即0
变为0.000
并1.2
变为1.200
我可以让它也删除尾随零吗?
c - 你如何处理离散的非整数集?
我有一个程序需要执行从一组已知值到另一组已知值的编译时可检查映射:
如果输入是整数或均匀间隔,这将很容易。我将遍历行,但也希望能够在可读的庄园中进行查找。
我目前的想法(我不喜欢)是定义一个像
然后将其设置为 2 次查找。
有更好的想法吗?
编辑:我主要关心的是限制我可以尝试查找的内容。如果代码可能会尝试查找无效的内容,我希望甚至无法编译的东西。
集合很小,迭代时间几乎完全不相关。
我还没有看到任何让我在枚举中获得任何东西的东西,所以现在我要这么做了。OTOH我会继续关注这个问题。
*
注意:我不担心会发现指针问题等等,只是像 for 循环和变量赋值这样的直接代码。
本质:为了清晰和通用性,我过度简化了上述内容。我实际上有一个表,它有 3 个非整数、非均匀轴和一个非数字轴。在这一点上,我不确定我需要在哪些方向上列举它。
一些链接可以让我了解我正在寻找的内容:
floating-point - 我应该如何对 80 位 IEEE 浮点进行相等性测试?
相关:
但是关于x86 上的80 位 IEEE 浮点数(参见第 8.2 节)
特别是我喜欢使用操作数之间的可表示值计数的这种实现,因为它默认缩放。
一个用例是数值近似,其中两个值彼此接近,我需要检查它们是否足够接近。
ps 实现语言是D,但我可以翻译。此外,可以自动处理任何底层类型的实现(例如,如果只有 64 位实数可用)将是理想的。
open-source - D中是否有任何开源项目?
我记得大约 2 年前看过 D,它看起来不错,在一些典型的语言基准测试中实际上比 C 更快,而且总体上看起来还不错,但当时我没有找到任何用 D 编写的真正项目,所以我刚来就走了。
现在几年过去了,我想知道是否有任何项目在 D 中完成,希望开源以查看代码并了解其进展情况,还是 D 死了?
ide - 是否有带有集成调试器的 D IDE?
是否有带有集成调试器的 D IDE?
c++ - STL __merge_without_buffer 算法?
我在哪里可以获得__merge_without_buffer()
C++ STL 中使用的算法的高级描述?我正在尝试用 D 编程语言重新实现此代码,并进行一些增强。仅仅阅读 STL 源代码,我似乎无法理解它在算法级别上所做的事情,因为有太多的低级细节掩盖了它。此外,我不想只是盲目地翻译代码,因为那样的话,如果它不起作用,我将不知道为什么,并且我将无法添加我的增强功能。
user-interface - D 的 GUI 库
用 D 语言进行 GUI 编程的现状如何?语言开发人员计划在标准库中包含 GUI 吗?
清单(根据答案编译)
memory - 关闭 D 垃圾收集器
我是一名 C++ 程序员,正在考虑将 D 用于我想玩的个人项目。我想知道是否有办法完全禁用垃圾收集器,这样做有什么风险。
我知道我可以通过覆盖 new 和 delete 以使用 malloc 和 free 来管理我自己的内存,但如果我这样做了,我宁愿垃圾收集器根本不运行。
multithreading - 为什么线程本地存储这么慢?
我正在为 D 编程语言开发一个自定义标记释放样式的内存分配器,它通过从线程本地区域分配来工作。与其他相同的单线程代码版本相比,线程本地存储瓶颈似乎导致从这些区域分配内存的速度大幅下降(~50%),即使在将我的代码设计为每次分配只有一个 TLS 查找之后/解除分配。这是基于在循环中多次分配/释放内存,我试图弄清楚它是否是我的基准测试方法的产物。我的理解是线程本地存储基本上应该只涉及通过额外的间接层访问某些东西,类似于通过指针访问变量。这是不正确的吗?线程本地存储通常有多少开销?
注意:虽然我提到了 D,但我也对不特定于 D 的一般答案感兴趣,因为如果 D 的线程本地存储实现比最佳实现慢,它可能会改进。