首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能用GDC编译D程序

不能用GDC编译D程序
EN

Stack Overflow用户
提问于 2015-10-26 12:10:03
回答 1查看 228关注 0票数 1

我试着用GDC编译D程序。我目前使用的是Windows SP3,我使用从这里下载的“X86 32位(i 686-W64-mingw32)”包:http://gdcproject.org/downloads (底部的链接)。因此,当我解压缩二进制文件并调用gdc编译这样一个简单的程序时:

代码语言:javascript
复制
import std.stdio;

void main() {
     writeln("Hello World. ");
}

我收到了一堆汇编程序错误:

http://pastebin.com/1kwU10Tz

我知道链接上写着“不支持的alpha构建”,但我不太明白这条消息的意思(也许你可以告诉我)。但是,尽管如此,我还是尝试从存档中下载早期版本,但都失败了,出现了类似的错误。

有办法解决这个问题吗?还是我错过了一些关键点。

编辑:下面是编译器生成的程序集代码:http://pastebin.com/w5q0rNNd

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-26 18:04:23

GDC窗口构建是真的坏了。对于最新的版本,我们只检查代码是否编译。我们甚至没有为这些版本做过烟雾测试。我们没有适当测试MinGW端口的工具,只要不能正确测试,就没有必要完成端口。我希望这会在今年晚些时候有所改变,但我不会承诺任何事情;-)目前,我从gdcproject页面删除了下载链接。

TL;DR:不要使用MinGW GDC构建,它们已经损坏了。

关于错误消息的一些信息:如果您查看ASM,您会看到以下名称:__D11TypeInfo_(null)6__initZ

符号名不能包含括号。在MinGW上打印名称时,有些东西坏了。在GDC中打印这些标识符的代码如下所示:sprintf(name, "_D%lluTypeInfo_%s6__initZ", (unsigned long long) 9 + len, buf.data);,所以OutBuffersprintf有一些问题。我需要做更多的调试才能找到真正的问题。

Bug报告:bug.cgi?id=201

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33345452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档