问题标签 [ldc]
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.
optimization - 使 D 程序更快的方法
我正在做一个非常苛刻的项目(实际上是一个解释器),专门用 D 编写,我想知道通常会推荐哪种类型的优化。该项目大量使用了 GC、类、关联数组以及几乎任何东西。
关于编译,我已经对 DMD 和 LDC 标志进行了试验,而 LDC-flto=full -O3 -Os -boundscheck=off
似乎正在发挥作用。
但是,尽管这听起来很简陋,但我希望您提出任何可以帮助加快性能的想法,无论是否与 D 语言相关。(我确定我错过了几件事)。
hyperlink - ldc2 -static 失败 ld.gold 错误找不到 -lphobos2-ldc -ldruntime-ldc
tl;dr LDC 编译和链接正常,直到使用 -static 标志,然后 ld.gold 找不到 phobos 或 druntime 库。
操作系统:Gentoo 64 位内核:5.4.48 DMD 版本:2.090 LDC2 版本:1.20.1(DMD v2.090.1,LLVM 10.0.0)
我正在尝试静态链接我制作的一些文件,以便可以在不需要 phobos 的情况下运行二进制文件。如果我尝试使用 dmd 或 ldc2 进行编译,则一切正常,但是当我使用以下命令进行编译时:
$ ldc2 -static -main filename
我收到以下错误:
连同
error: undefined reference to 'XYZ'
我认为的许多原因是由于找不到 phobos 和 druntime 库。
我尝试自行运行 cc 指定我的 libphobos2-ldc-shared.so 和 libdruntime-ldc-shared.so 文件的位置,同时指定这些文件,结果相同:
我也尝试LD_LIBRARY_PATHS
在我的 ~/.bashrc 中更新(并在更改后获取它),但这没有效果。
我似乎找不到其他人遇到过这个或类似的问题,但我觉得这可能与 gentoo 如何处理不同的 D 编译器有关。
我尝试同时使用 eselect 和外行方向,删除 ldc2 以遵循每种方法的方向,但没有效果。令人担忧的是,我的系统上不存在wiki ( https://wiki.gentoo.org/wiki/Dlang#Executables_paths )中提到的可执行文件和库路径。我也找不到任何 ldc2 配置文件,添加和编辑 ~/.ldc2 或 ~/.config/ldc2 也没有改变任何东西。
我现在也试过删除 dub、dmd、ldc2 和外行,并重新安装(外行先添加覆盖,然后安装 dmd 和 ldc2),但我遇到了同样的问题,路径和配置文件仍然不在dlang 上的 gentoo wiki 说他们应该在的地方。
关于解决这个问题需要做什么的任何想法?
c - 带有 adafruit RGBLCDShield Buttons 奇怪行为的 Arduino
我有带 rgb 液晶屏的 Arduino uno。一个特定功能中的按钮有一种非常奇怪的行为。
该函数称为是/否。它在屏幕上显示一条消息(工作),用户可以使用上/下/左/右按钮选择回答是/否,并通过按下选择按钮批准答案。
功能如下:
出于某种原因,当按下左/右/上/下时,没有任何反应。按下选择时,它会执行上/下/左/右功能
相反,使用if (buttons &&(BUTTON_UP || BUTTON_DOWN || BUTTON_RIGHT || BUTTON_LEFT))
左/右/上/下按钮按预期工作,但按钮选择仍充当其他按钮
菜单的类似代码按预期工作:
由于 arduino uno 上的空间非常有限,我想让代码尽可能简短。
d - D 的`std.sumtype` 在哪里?
我正在开发一个 D 语言项目,我想使用标准库中的一个名为std.sumtype
. 我在 debian oldstable 上,我已经尝试过 GDC 和 LDC。DMD 不可用,因为我使用的是具有 armhf 架构的机器。std.sumtype
尽管它在标准库中,但这些编译器都找不到。我还尝试sumtype.d
从所有三个 D 编译器的 phobos 存储库中下载 3 个不同版本的版本。这些中的每一个都不会编译。我该如何使用它?我在错误的版本吗?