dmd相关内容
我的代码: import gtk.MainWindow; import gtk.Main; void main(string[] args) { Main.init(args); auto win=new MainWindow("Hello World"); win.setDefaultSize(200,100); win.showAll(); Ma
..
我在用char实例化RedBlackTree容器时遇到了麻烦,但是它可以与ints一起使用: import std.stdio; import std.container; void main() { auto r1 = redBlackTree!(int)(); // works auto r2 = redBlackTree!(char)(); //
..
我尝试与sqlite3静态链接,但未成功.我正在使用'etc.c.sqlite3'标头和sqlite3合并.为了创建.lib文件,我已经尝试了VC ++和MinGW-gcc,它们都成功地编译了源文件-但是它们都生成COFF对象格式(DMD使用的optlink与OMF一起使用).在阅读了有关"digitalmars.D"的大量文章之后,我尝试了几种不同的解决方案. objconv: 试图
..
我一直试图永远解决这个问题,这开始惹恼我.我了解D运行时库.它是什么,它做什么.我也了解,没有它,您也可以编译D应用程序.就像XoMB所做的一样.好吧,XoMB定义了自己的运行时,但是在某些情况下,您不需要编写自己的运行时.我了解我正在使用的DigitalMars D编译器(dmd)在运行时在幕后做了很多事情,例如根据程序所需的内容发出对某些事情的引用.而且,每个程序都需要处理.因此,您必须自己定
..
这是C#中的简单生成器. IEnumerable Foo() { int a = 1, b = 1; while(true) { yield return b; int temp = a + b; a = b; b = te
..
我尝试编译以下代码: import std.algorithm; void main() { string[] x = ["ab", "cd", "ef"]; // 'string' is same as 'immutable(char)[]' string space = " "; char z = joiner( x, space ).front(); // er
..
有一阵子我对D的运算符重载的方向感到困惑,但是现在我意识到这是一个漂亮的系统……如果它仅适用于核心类型(int,float等).考虑以下代码: struct Vector { float X, Y; void opOpAssign(string op)(Vector vector) { X.opOpAssign!op(vector.X); // ERROR:
..
应该很简单,但事实并非如此. 这是我的代码: string cases() { string ret = ""; string[] methods; methods = [__traits(derivedMembers,mixin("Math"))]; foreach (string s; methods) ret ~= "case \"" ~ s ~
..
我很乐意在D. 中编程选择DMD(2.061)或GDC(4.6,4.7或4.8,快照)的优缺点。 我应该选择什么GDC版本? 我已经成功地构建了GCC-4.8和GDC-4.8的最新快照,并编译了一个你好世界的程序。 远程: GDC :更多平台,运行时性能 DMD :编译性能,更多测试? 通过GDB调试支持怎么办在GDC和DMD之间? 解决方案 使用 DMD ,因为
..
不同的D编译器的优点/缺点是什么?如何实现性能和标准合规性/ D2支持?调试器支持有多好?错误消息有多好,是IDE集成? 64位的支持有多好?我的想法到此为止: DMD 成熟和维护良好 只有一个平台,64位支持不好 不是FOSS GDC 支持各种平台 $ b $ b 已经非常成熟的优化, li> LDC 支持各种平台 LLVM,因此它支持JITing
..
我正在为自己编写一个库,以帮助自动化一些真正常见的任务,我一直在做D从命令行脚本。作为参考,下面是整个代码: 模块libs.script; import std.stdio:readln; import std.array:split; import std.string:chomp; import std.file:File; //用于命令行脚本的无聊输入处理和
..
我是不会走的很深入的问题(在codeBase的已经是千行和相当复杂的),所以我会尽力miniminise了...“窗口”,以我所发现。 这里的例行触发“段错误”: 的extern(C) { 无效* Statements_new(){返回铸(无效*)(新报表()); } 无效Statements_add(声明S,ST声明) { // writeln(“在这
..