问题标签 [gdc]
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.
linker - (dlang) 如何使用 gdc 链接 libcurl?
我试图将 libcurl 链接到我的程序,但链接器告诉我一些错误。我检查了是否使用了“-lcurl”选项。我还检查了 libcurl 是否安装正确。我试过的命令是:
链接器告诉我以下错误:
有一些使用官方编译器 dmd 的案例,但我找不到 gdc 的案例。有任何想法吗?
(Ubuntu 14.02 LTS amd64)
d - DMD 与 GDC 中的 memcmp 和 std.parallelism:并行
我正在实现一个带有指向一些手动管理内存的指针的结构。这一切都适用于 DMD,但是当我使用 GDC 对其进行测试时,它会因opEquals
运算符重载而失败。我已将其范围缩小到 memcmp。在opEquals
我将指向内存与 memcmp 进行比较时,它在 DMD 中的行为与我预期的一样,但在 GDC 中失败。
如果我返回并opEquals
通过使用内置类型一次比较存储在手动管理内存 1 中的每个值来编写该方法==
,则它在两个编译器中都有效。我更喜欢 memcmp 路线,因为它写起来更短,而且看起来应该更快(更少的间接、迭代等)。
为什么?这是一个错误吗?
(我使用 C 的经验是 10 年前,从那以后一直在使用 python/java,我在 C 中从未遇到过这种问题,但我并没有用那么多。)
编辑:
我正在比较的内存代表一个“真实”值的二维数组,我只是希望它被分配在一个块中,所以我不必处理锯齿状数组。我将在紧密循环中大量使用这些结构。基本上,我正在滚动我自己的矩阵结构,它将(最终)缓存一些经常使用的值(跟踪、行列式),并为不需要复制它的转置提供备用只读视图。我计划使用大约 10x10 到大约 1000x1000 的矩阵(尽管并不总是正方形)。
我还计划实现一个版本,通过 GC 分配内存ubyte[]
并分析这两个实现。
编辑2:
好的,我尝试了几件事。我也有一些parallel
循环,我有一种预感,这可能是问题所在。所以我添加了一些版本语句来制作并行和非并行版本。为了让它与 GDC 一起工作,我不得不使用非并行版本并更改real
为double
.
在 GDC 下编译的所有案例。但是单元测试失败了,并不总是在同一行上,而是在opEquals
我使用real
or时始终在通话中parallel
。在 DMD 中,所有案例都编译并运行没有问题。
谢谢,
d - 使用gdc编译D程序时如何修复“无法识别的选项'-plugin`”?
我为下载了GDCLinux
,并尝试构建一个简单的D
程序。执行“ gdc hello.d -o hello
”后,输出:
然后我使用“ gdc -v hello.d -o hello
”命令,并试图找到根本原因。它显示:
似乎collect2
无法识别“ -plugin
”选项。我尝试了google
它,但找不到任何有价值的信息。任何人都可以提出一些建议吗?首先十分感谢!
d - D不区分大小写的关联数组?
可能吗?我正在使用 vibe.d 构建一个 REST Api 并实现令牌身份验证。因为我不知道用户将在哪种情况下向我发送 Authorization 标头参数,所以我需要以不区分大小写的方式查询它。例如:
可能吗..?
谢谢
ios - GDC 信号量错误
构建以下 Swift 类以使用 GDC模拟 Java 线程sleep
和方法。interrupt
该sleep
方法创建一个信号量,等待它发出信号并true
在睡眠过早结束时返回。该interrupt
方法向信号量发出信号以使线程脱离睡眠状态:
正如你所看到的,我放了一些 objc_sync_enter
and objc_sync_exit
(虽然它很可能是多余的),但它没有帮助:使用 iPhone 6 模拟器它工作得很好,但是 iPad Retina 模拟器在dispatch_semaphore_wait
. 有什么建议么?
assembly - 无法使用 GDC 编译 D 程序
我正在尝试使用 GDC 编译 D 程序。我目前在 Windows XP SP3 上,我使用从这里下载的“Windows X86 32bit (i686-w64-mingw32)”包:http: //gdcproject.org/downloads(底部的链接)。因此,当我解压缩二进制文件并调用 gdc 来编译一个像这样的简单程序时:
我得到一堆汇编错误:
我知道指向“不支持的 alpha 版本”的链接,但我真的不明白这条消息的含义(也许你可以告诉我)。但是,尽管如此,我还是尝试从存档中下载早期版本,但都因类似错误而失败。
有没有办法解决这个问题?还是我在这里遗漏了一些关键点。
编辑:这是编译器生成的汇编代码:http: //pastebin.com/w5q0rNNd
d - 为什么 GDC 的标准库与 DMD 的 phobos 不同
例如,我无法使用 GDC 5.2.0 (2016-02-05T11:17:49.3234388) 编译导入 std.meta 的程序,因为找不到该文件。
我正在比较 GDC 和 DMD 之间的包含文件夹,我发现版本非常不匹配。
这阻止了我可以放心地使用 GDC。
任何人都知道为什么 GDC 包含的不是同一个 Phobos 库吗?
d - D - GDC (Dlang) 的更友好的 asm 语法糖
我有一个想法来简化使用 GDC 的扩展 asm 语法创建 D plus asm 代码的过程。我想摆脱在整个地方插入 \n\t 标记的需要,例如,使用单独的字符串并让 D 编译器连接它们。但我对其他建议持开放态度。我的尝试失败了,因为不幸的是连接 D 字符串在编译时在 GDC 中不起作用,我需要 CTFE。正如您所料,这块糖的成本为零。
我怀疑我需要用mixin做点什么。关于去哪里以及如何留在 CTFE 内的任何提示?
linux - 方法调用顺序混淆
我正在尝试学习 d,所以我从 hello world 开始,并尝试对其进行一些扩展。
所以我希望我的输出如下
但相反我得到了这个
睡眠功能甚至被跳过。怎么了?