问题标签 [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 投票
2 回答
572 浏览

qt - Qt 绘制的内容丢失了

我正在编写一个信息屏幕程序。我创建了一个全屏小部件并在其上绘制内容。

为了延长 TFT 显示设备的生命周期,我想实现像素移位功能。换句话说,每X分钟,我将屏幕向左/右/上/下移动Y像素。

我的方法如下:

  1. 我使用两层(两个 QWidget)。
  2. 我在顶层绘制内容。
  3. 当执行像素移动时,我只是将顶层移动到指定的偏移量。
  4. 然后在底层填充背景颜色。

但是,我发现了一个问题:

如果我将顶层向上移动 10 个像素,则 10 个像素的内容会离开屏幕。但是当我将此层向下移动 10 个像素时。10 像素内容不会更新,它已经消失了。

我怎样才能保留这些 10 像素的内容?是否有任何神奇的小部件标志来解决这个问题?

更新 1: 代码是用语言 D 编写的,但很容易理解:

0 投票
9 回答
31931 浏览

c# - 如何从合理的 HTML 中提取文本?

我的问题有点像这个问题,但我有更多的限制:

  • 我知道文件是合理的
  • 他们非常有规律(他们都来自同一个来源
  • 我想要大约 99% 的可见文本
  • 大约 99% 的可行内容是文本(它们或多或少是 RTF 转换为 HTML)
  • 我不关心格式甚至分节符。

是否有任何工具可以做到这一点,或者我最好只是打破 RegexBuddy 和 C#?

我对命令行或批处理工具以及 C/C#/D 库持开放态度。

0 投票
1 回答
79 浏览

d - 设置目录。带有 dss 的结构

我正在尝试使用 dsss 设置目录结构:

dsss.conf./proj目录中无法正常工作。

任何想法从哪里获得有关如何更好地设置这种结构的更多信息。我无法找到放置文件夹结构信息的正确位置。

我要完成的主要事情是将dsss生成的文件仅保留在目录中./obj./bin

0 投票
7 回答
7363 浏览

algorithm - 在哪里可以找到标准数学函数的算法?

我希望向 D 编程语言标准库提交一个补丁,该补丁将允许使用该语言的编译时函数评估工具在编译时评估大部分 std.math。编译时函数评估有几个限制,最重要的是:

  1. 你不能使用汇编语言。
  2. 您不能调用 C 代码或源代码不可用的代码。

几个 std.math 函数违反了这些,需要编写编译时版本。我在哪里可以获得有关计算对数、指数、幂和三角函数等事物的良好算法的信息?我更喜欢算法的高级描述而不是实际代码,原因有两个:

  1. 为了避免法律上的歧义和需要使我的代码看起来与源代码“足够不同”以确保我拥有版权。

  2. 我想要简单、可移植的算法。我不关心微优化,只要它们至少是渐近有效的。

编辑:D的编译时函数评估模型允许在编译时计算的浮点结果与在运行时计算的结果不同,所以我不在乎我的编译时算法是否给出与运行时版本完全相同的结果只要它们在实际显着程度上不那么准确。

0 投票
5 回答
4861 浏览

floating-point - 如何以完美的精度将字符串转换为浮点数?

我正在尝试用 D 编程语言编写一个函数来替换对 C 的 strtold 的调用。(基本原理:要从 D 中使用 strtold,您必须将 D 字符串转换为 C 字符串,这是低效的。此外,strtold 不能在编译时执行。)我想出了一个最有效的实现,但我似乎在最低有效位上失去了一些精度。

该算法有趣部分的代码如下,我可以看到精度损失的来源,但我不知道如何摆脱它。(我省略了很多与核心算法无关的代码部分,以节省人们的阅读时间。)什么字符串到浮点算法将保证结果将尽可能接近 IEEE 编号行到由字符串表示的值。

此外,我正在使用旧版本的单元测试,它执行以下操作:

是否有可能我的函数产生的答案实际上比编译器在解析浮点文字时产生的表示更准确,但是编译器(用 C++ 编写)总是与 strtold 完全一致,因为它在内部使用 strtold 进行解析浮点文字?

0 投票
5 回答
865 浏览

coding-style - 重函数调用嵌套的可读性?

我经常看到它认为不应该使用重度嵌套的函数调用,因为它们不可读。然而,使用临时变量反而会产生很多不必要的冗长,并迫使读者在心理上将每个临时变量与其所代表的内容联系起来。在查看 Lisp 代码通常格式化的方式时,我突然想到,如果您格式化它们以反映嵌套,嵌套函数调用实际上可以变得非常可读。例如:

以嵌套函数形式编写类似于第一个示例的内容,恕我直言,相当于在更多过程式代码中执行以下操作:

在这两种情况下,真正的问题是格式不正确,而不是过度嵌套。您如何评价格式良好的嵌套函数版本与临时变量版本的可读性/可理解性?你是否认为繁重的函数调用嵌套是不好的风格,即使它被格式化以获得最大的可读性?如果是这样,为什么?

0 投票
3 回答
546 浏览

python - 关联矩阵?

我正在做一个项目,我需要存储一个由两个字符串键索引的数字矩阵。矩阵不是锯齿状的,即如果任何行都存在列键,那么它应该存在于所有行。同样,如果任何列都存在行键,那么它应该存在于所有列中。

表达这一点的明显方法是使用关联数组的关联数组,但这既尴尬又低效,并且它不强制非锯齿属性。是否有任何流行的编程语言提供了内置于语言中或作为其标准库的一部分的关联矩阵?如果是这样,它们在 API 和实现级别是如何工作的?我在这个项目中使用 Python 和 D,但其他语言的示例仍然有用,因为我可以查看 API 并找出在 Python 或 D 中实现类似功能的最佳方法。

0 投票
5 回答
1188 浏览

multithreading - (什么时候)并行排序是实用的,你如何写一个有效的?

我正在为 D 编程语言开发一个并行化库。现在我对基本原语(并行 foreach、map、reduce 和任务/未来)非常满意,我开始考虑一些更高级别的并行算法。更明显的并行化候选者是排序。

我的第一个问题是,排序算法的并行版本在现实世界中有用吗,还是它们主要是学术性的?如果它们有用,它们在哪里有用?我个人很少在我的工作中使用它们,因为我通常使用比单个 sort() 调用更粗粒度的并行度将我的所有内核固定在 100%。

其次,对于大型数组来说,快速排序似乎几乎是令人尴尬的并行,但我无法获得我认为应该获得的近线性加速。对于快速排序,唯一固有的串行部分是第一个分区。我尝试通过在每个分区之后并行排序两个子数组来并行化快速排序。在简化的伪代码中:

即使对于非常大的阵列,第一个分区所花费的时间可以忽略不计,与纯串行版本的算法相比,我只能在双核上获得大约 30% 的加速。我猜瓶颈是共享内存访问。关于如何消除这个瓶颈或瓶颈可能是什么的任何见解?

编辑:我的任务池有固定数量的线程,等于系统中的核心数减去 1(因为主线程也可以工作)。此外,我使用的等待类型是工作等待,即如果任务已启动但尚未完成,则调用线程workWait()会从池中窃取其他作业并执行它们,直到它正在等待的作业完成。如果任务未启动,则在当前线程中完成。这意味着等待并不是低效的。只要有工作要做,所有线程都会保持忙碌状态。

0 投票
3 回答
2673 浏览

d - 我正在寻找免费的 D 语言 3d 游戏引擎

在 DevMaster.net 上,我只找到了 RealmForge。这是唯一的选择吗?C/C++ 游戏引擎适合 D 吗?如果是,我需要克服哪些困难才能与他们合作?

0 投票
4 回答
1367 浏览

c++ - 在 8 字节边界上对齐双精度数?

数字代码中是否有一个常见的可移植习语(我正在用 D 编写,但与语言无关,C 和 C++ 的答案对我也很有用),以确保所有频繁访问的堆栈分配双精度数在 8 上对齐-字节边界?我目前正在优化一些数字代码,其中未对齐的堆栈分配双精度数(仅在 4 字节边界上对齐)导致大约 1.5 到 2 倍的性能损失。