问题标签 [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.

0 投票
3 回答
742 浏览

d - Fedora 16 上的 D 编程

我最近安装了 Fedora 16(这很棒),主要是因为我想尝试 LDC2,但也因为 Gnome Shell 在 Fedora 上的运行比 Ubuntu 11.10 更流畅(至少在我的硬件上)。

LDC2 效果很好,但我想知道通过输出 LLVM .ll/.bc 代码是否可以在 Windows/Mac/Android 上编译和运行应用程序。我可以使用 LLVM 在我的 Windows 机器上将 .ll/.bc 文件编译为 ASM .s。然而,我第一次编译 ASM 的尝试给了我错误:“'main' functions not found.”。通过 ASM,我确实看到了一个 _Dmain 函数。我以前没有编译 ASM 的经验,所以我有点迷茫。

我知道 DRuntime 在这里发挥作用,但是关于 LDC2 的 DRuntime 平台支持状态的最新信息很少。所以我想知道我的选择是什么。LDC2 现在可以为 Windows 编译代码吗?目前是否支持任何其他平台/架构的交叉编译?

GDC呢?我想尝试 GDC,但在 Fedora 软件中心找不到它,而且我对 Linux 有点陌生,所以我很难从源代码构建它。


D(第 2 版)是我最喜欢的语言(其次是 C#),我期待有一天我可以用 D 编写游戏/应用程序,而不必担心硬件或平台支持。我支持这门语言,我希望开源社区在未来能够大力支持 D。它确实是我所见过的功率、性能和生产力的最佳平衡。

0 投票
2 回答
348 浏览

d - D 中的扩展函数

我不久前买了“The D Programming Language”。很棒的书,很有教育意义。但是,我在尝试编译书中列出的语言功能时遇到了麻烦:扩展功能。

在书中,Andrei 写道,任何函数(a, b) 都可以像这样调用:a.function(b); 所以我应该能够做到这一点:

正确的?这个功能还没有实现,还是我只是错过了什么?我注意到导入 std.range 会将方法添加到数组中,因此它似乎确实在某个级别上实现了。

0 投票
4 回答
1801 浏览

c - 使用 D 编程语言的 ncurses api

我正在尝试使用神经网络自学人工智能。长话短说,我想创建一个简单的图形,使用 ncurses 显示我的程序中发生的事情。我正在使用的教程可以在这里找到。

我的印象是 D 与 C 兼容,理论上我可以相对容易地调用 C 函数。

我发现情况并非如此。我是一个相对新手的程序员,所以即使是简单的解释也有点过头了。我在这里找到了这个。

D 旨在与目标系统的 C 编译器配合使用。D 依靠目标环境的 C 运行时库来弥补没有自己的 VM。尝试移植到 D 或为大量可用的 C API 编写 D 包装器是毫无意义的。直接打电话给他们要容易得多。

这是通过匹配 C 编译器的数据类型、布局和函数调用/返回序列来完成的。

听起来很棒。有点过头了。我测试并得到了一个简单的 C 程序工作:

从另一个关于SO的问题中无耻地复制和粘贴。至少我做了我的功课。

我从一个简单的 D 程序中尝试了基本相同的事情。我收到了这个错误:

我绝对肯定我正在尝试一些非常愚蠢的事情。

有没有一种在 D 程序中使用 ncurses 的简单方法?

我在零睡眠和咖啡因上跑步,所以请温柔一点!即使是网站链接也将不胜感激!

我可能没有包括我应该拥有的所有东西,所以 AMA。

随意侮辱我的智商。

0 投票
2 回答
2428 浏览

operator-overloading - D 中优雅的运算符重载

有一段时间我对 D 的运算符重载方向感到困惑,但现在我意识到它是一个漂亮的系统……如果它只适用于核心类型(int、float 等)。考虑以下代码:

如果它有效,这将是一个漂亮的代码,因为它在一种方法中重载了所有 +=、-=、*= 等运算符。但是,如您所见,它不是开箱即用的。我使用模板创建了一个解决方案(上帝我爱 D):

这很好,只是我更喜欢把所有东西都“放在家里”。有没有办法在没有模板的帮助下完成这项工作?我知道我在这里很挑剔,因为没有性能损失,而且在我需要这样做的情况下导入模块并不难。我只是想知道它是否是内置的,我忽略了一些东西。

0 投票
3 回答
472 浏览

winapi - 有没有办法创建一个优雅的类成员窗口函数?

Win32 API 中的 Window-Procedure 必须是静态 \ 全局函数,因为它不能采用类对象 (the this) 参数。当然可以使用 hWnd->object 字典等变通方法。

我想知道D是否有办法优雅地解决它,例如为每个对象创建一个微小的成员函数副本(以调用对象的真实处理程序)或我可以分配给WNDCLASS.lpfnWndProc的匿名函数(我知道有匿名函数,但我不能使用他们的extern(Windows)财产)?

我可以做这样的事情:



(省略注册\创建\味精循环...)

Events() 似乎没有触发......我错过了什么吗?

0 投票
1 回答
224 浏览

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?

0 投票
1 回答
460 浏览

d - 配置 G-WAN 以使用 D2 的问题

我已经从它的bitbucket 存储库下载、编译和安装了 gdc 。然后我从它的站点
下载、提取并运行 G-WAN 。 我现在可以使用 gdc 编译 D2 代码并且它运行良好,我可以使用 G-WAN 在我的浏览器中加载 c-script。 当我尝试将 D2 脚本添加到我的源文件夹时,我无法从 G-WAN 为它们提供服务。


sudo ./gwan

  • 'hello.d':要使用 D2 (*.d) 脚本,请安装 'gdc' (sudo apt-get install gdc)`

并且该程序仍然运行并将与其他页面和 c 脚本一起使用。

./gwan

  • 链接hello.d:未定义符号:__data_start

并且 G-WAN 无法启动

我不想,sudo apt-get install gdc因为那是一个非常旧的 D1 版本。


我的 linux-foo 不是很强大,这就是我寻求帮助的原因。这可能不是我可以从头到尾解决的问题,我需要联系服务器的开发人员。

顺便说一句,我在一个新的 ubuntu vm 上使用dmd尝试了同样的事情并alias gdc="dmd"得到了完全相同的结果,所以我倾向于认为 G-WAN 是专门为旧版本的 gdc 和 D1 配置的。


如何配置我的系统以使这两个应用程序一起工作?

0 投票
1 回答
273 浏览

iphone - 使用石英为 CALayer 绘制内容时发生硬崩溃

我试图弄清楚为什么 iOS 会以粗暴的方式使我的应用程序崩溃(没有崩溃日志,立即关闭并出现黑屏死机,并显示一段时间的微调器)。当我使用 Quartz 为 CALayer 渲染内容时会发生这种情况。我怀疑内存问题(仅在设备上测试时发生),但内存日志以及仪器分配日志看起来还不错。让我过去的致命功能:

以下是日志:

应用程序在随机位置崩溃。有时在到达函数的 en 时,有时在随机步骤中。

我应该向哪个方向寻找解决方案?GDC是否可能导致问题?或者可能是上下文大小或一些核心动画底层引用?

0 投票
1 回答
190 浏览

ios - 从 Instruments 读取内存分配结果

我正在我的 iOS 应用程序上运行内存分配分析器,我检测到当前创建了 8MB 内存并且仍然存在于我的应用程序中。显然有什么不对劲。所以我深入研究,这是我可以向您展示的图像:

在此处输入图像描述

知道为什么这是原因吗?这似乎是一个自动释放的对象,所以它不应该被释放而不是生活在内存中吗?

以下是我调用函数 parseTagsInComment 的方式:

0 投票
1 回答
190 浏览

iphone - 将多个异步调用放入队列中

我有几个异步调用,我会在一个调用中合并:

使用上述调用的组合方法:

完成块包含一个具有三个数组的对象,称为array[A-C]. 如果任何子调用失败,则对象中的相应数组被简单地设置为 nil。

而不是嵌套这三个块并在前面的失败或完成时调用下一个(这真的很混乱) - 我想使用 GCD 执行以下操作:

  1. 将所有呼叫添加到队列
  2. 等到所有调用完成(调用成功或失败块)
  3. 合并完成块的所有结果并调用方法的完成块loadAll

我知道这在具有同步调用的 GCD 中是可能的,但我不知道如何通过我的三个异步“子调用”来实现这一点。