d2

    6熱度

    1回答

    在d共享庫調用writefln我試圖與d動態共享庫到快速開始,但我有一個問題。 我建立以下代碼dmd -shared ./testlib.d: module testlib; import std.c.stdio; extern (C) export int hello(int a) { printf("Number is %d", a); return (a + 1

    3熱度

    2回答

    只是收到一條錯誤消息,說「union __anonymous只能是聚合的一部分」。我並不是很困惑,因爲我正在嘗試一些我知道不應該工作的東西。 但它讓我想知道D中「聚合」的確切定義是什麼。我猜測它是一種可以包含其他類型的類型,如數組,結構或類。還是有更多的呢?

    5熱度

    1回答

    是否可以防止在D2中非傳遞變量的重新分配? 例如: final int[] a = [0]; a[0] = 1; // OK. a = []; // ERROR. 我只看到const和immutable這裏: http://www.dlang.org/const3.html

    4熱度

    1回答

    import std.stdio; struct S { string m_str = "defaultString"; this(this) { writeln("In this(this)"); } ~this() { writeln("In ~this():"~m_str); } }

    0熱度

    1回答

    我需要生成一個臨時文件,填充一些數據並將其提供給外部程序。基於d的描述可here我使用​​方法: auto f = File.tmpfile(); writeln(f.name()); 不提供一種方式來獲得所生成的文件名。據記載,name可能是空的。在Python中,我會這樣做: (o_fd, o_filename) = tempfile.mkstemp('.my.own.suffix')

    5熱度

    2回答

    我有一個函數void foo(...)和一個函數void bar(...),我想從foo調用bar,bar接收與foo相同的變量參數列表。 D中可能嗎? 謝謝!

    11熱度

    1回答

    我想進入與D編程,我遇到了一些問題。我開始使用core.thread Thread類,它爲啓動一個線程提供支持,然後將當前線程加入它。 D似乎希望人們使用消息傳遞,而不是鎖定/同步方法,所以我想我會試一試,但是我看到的每個消息傳遞示例都需要我無法從Thread類獲得的tid。我在網上看到的代碼示例實際上使用了spawn,它返回的是tid而不是使用Thread wrapper,然後使用tid將消息傳

    2熱度

    1回答

    我有一個類的成員函數與packageprotection attribute,我想覆蓋它在一個子類,在同一個包,不同的模塊。 dmd編譯器大聲說我不能覆蓋非虛函數。如果我使功能public,它實際上工作。 爲什麼包函數不是虛擬的? 示例代碼: module test.A; class A { package void doSomething() {} } module test.

    10熱度

    1回答

    我瘋了,因爲我無法在屏幕上出現一組簡單的三角形。 我正在使用OpenGL3(沒有棄用的固定管道)使用D編程語言的廢棄綁定。 你能在下面的程序中發現錯誤嗎?它編譯得很好,不會拋出任何OpenGL/GLSL錯誤。它只是顯示我設置的清晰顏色的空白屏幕。 import std.string; import std.conv; import derelict.opengl3.gl3; import d

    7熱度

    3回答

    我知道有DSSS,BUD/build,Orbit雅各布卡爾堡和官方rdmd。而且只有Orbit似乎很活躍。 那麼,哪些最適合構建具有很多依賴關係的龐大複雜的D程序? 不需要包裝,只需要很好和清楚的構建過程幫手。